这两天上班接手,别人留下来的爬虫发现一个很好玩的 SQL脚本拼接。 只要你的Scrapy Field字段名字和 数据库字段的名字 一样。那么恭喜你你就可以拷贝这段SQL拼接脚本。进行MySQL入库处理。 具体拼接代码如下:
1 |
def process_item(self, item, spider): |
这个SQL拼接实现了,如果数据库存在相同数据则 更新,不存在则插入 的SQL语句 具体实现就是第一个for循环,获取key作为MySQL字段名字、VALUES做为SQL的VALUES(拼接成一个插入的SQL语句) 第二个for循环,实现了 字段名 = VALUES的拼接。 和第一个for循环的中的sql就组成了 insert into XXXXX on duplicate key update 这个。存在则更新 不存在则插入的SQL语句。 我只能所 6666666666 写这个拼接的小哥儿有想法。还挺通用。 不知道你们有没有想到这种方法 反正我是没想到。