scrapy爬虫写入数据库万能语句

#pipelines.py 中
import pymysql
class BaikePipeline(object):
    def __init__(self):#先初始化
        self.conn = None
        self.cur = None

    def open_spider(self, spider):
        self.conn = pymysql.connect(host="localhost", user="root", password="123456",
                                    database="script", port=3306, charset='utf8')
        self.cur = self.conn.cursor()

    def process_item(self, item, spider):
        
#万能语句写入数据 
  '''
 # zip(可迭代对象)--打包
        a = [1,2,3]        
        b = [4,5,6]       
     c = [7,8,9,10]    
        zip(a,b) ---> [(1,4),(2,5),(3,6)]       
         zip(a,c) ---> [(1,7),(2,8),(3,9)],把多余的筛选掉
'''
cols, values zip(*item.items())

sql="insert into %s(%s)VALUES (%s)"%('baike',','.join(cols),','.join(["%s"]*len(values))) 

# print(sql)#查看sql执行是否正确 

self.cur.execute(sql,values) 

self.conn.commit() 

print(self.cur._last_executed)#看上一条执行语句 

return item def close_spider(self,spider): 

self.cur.close()

self.conn.close()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值