在从蜘蛛通过管道插入数据之前的空表,以避免重复

时间:2014-05-04 18:35:03

标签: python mysql sql scrapy

大家好我在我的项目管道中有这段代码它工作得很好它会自动将已删除的数据添加到我的mysql数据库中。我想知道在将更新数据放入其中之前是否有可能清空表格?

我已尝试添加"截断"命令但没有成功,你会怎么做呢?这是为了避免在更新时在表格中出现重复。我希望管道像这样工作 - 如果找到该项,则截断表,然后将新数据插入表中。

def process_item(self, item, spider):
        try:
            if 'BristolQualification' in item:
                self.cursor.execute("INSERT INTO Bristol(BristolCountry, BristolQualification) VALUES (%s, %s)",
                (item['BristolCountry'], "".join([s.encode('utf-8')
                for s in item['BristolQualification']])))
            elif 'BathQualification' in item:
                self.cursor.execute("INSERT INTO Bath(BathCountry, BathQualification) VALUES (%s, %s)",
                (item['BathCountry'], "".join([s.encode('utf-8')
                for s in item['BathQualification']])))
            elif 'USWQualification' in item:
                self.cursor.execute("INSERT INTO USW(USWCountry, USWQualification) VALUES (%s, %s)",
                (item['USWCountry'], "".join([s.encode('utf-8')
                for s in item['USWQualification']])))

            self.conn.commit()
            return item

        except MySQLdb.Error as e:
            print "Error %d: %s" % (e.args[0], e.args[1])

0 个答案:

没有答案