方法一:同步操作
1.pipelines.py文件(处理数据的python文件)
importpymysqlclassLvyouPipeline(object):def __init__(self):#connection database
self.connect = pymysql.connect(host='XXX', user='root', passwd='XXX', db='scrapy_test') #后面三个依次是数据库连接名、数据库密码、数据库名称
#get cursor
self.cursor =self.connect.cursor()print("连接数据库成功")defprocess_item(self, item, spider):#sql语句
insert_sql = """insert into lvyou(name1, address, grade, score, price) VALUES (%s,%s,%s,%s,%s)"""
#执行插入数据到数据库操作
self.cursor.execute(insert_sql, (item['Name'], item['Address'], item['Grade'], item['Score'],
item['Price']))#提交,不进行提交无法保存到数据库
self.connect.commit()defclose_spider(self, spider):#关闭游标和连接
self.cursor.close()
self.connect.close()
2.配置文件中