土拨鼠

查看: 18|回复: 0

scrapy 万能sql插入语句

[复制链接]

5

主题

5

帖子

61

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
61
发表于 2019-12-25 16:04:00 | 显示全部楼层 |阅读模式
原文链接:https://blog.csdn.net/qq_39298872/article/details/103677930
本次示例为scrapy 爬取的豆瓣top250网站(https://movie.douban.com/top250

item.py

title=scrapy.Field()comment = scrapy.Field()
link = scrapy.Field()
quote = scrapy.Field()
rank = scrapy.Field()

该字段名称和数据库中字段对应名称必须相同,顺序可以不一致重点了
import  pymysqlconn=pymysql.connect(   
host='localhost',
user='root',
passwd='数据库密码',   
port = 3306, db = '数据库名称', charset = 'utf8')
#游标
cursor=conn.cursor()class WannnegSqlPipeline(object):   
def __init__(self):           
#初始化的表名        
self.table_name='ceshisql'   
def process_item(self, item, spider):        
keys, values = zip(*item.items())        
sql = "INSERT INTO `{}` ({}) VALUES ({}) ON DUPLICATE KEY UPDATE {}".format(            s
elf.table_name,            
','.join(keys),           
','.join(['%s'] * len(values)),            
','.join(['`{}`=%s'.format(k) for k in keys])        )        
cursor.execute(sql, values * 2)        
conn.commit()        r
eturn item


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表