pipelines类不继承父类。但是要实现一些特有的方法。
这些方法会在爬虫的某个生命周期自动执行。
open_spider(self,spider):此方法在爬虫开启时执行,且只执行一次。一般用于连接数据库或打开文件。
例如:
self.c = pymysql.connect(hpup)
self.cur = self.c.cursor()
self.cur.execute('use ex1')
self.cur.execute('create table hotsale if not exists (name varchar(12),author varchar(12)) charset UTF8')
接下来是process_item 方法,这个方法用于数据的处理(如去重,map,持久化等)
例如:
def process_item(self,item,spider):
self.cur.execute('insert into hotsale values(%s,%s)',(item['name'],item['author']))
return item
最后是close_spider 方法。
其在结束spider时使用。一般为提交数据、关闭数据库等功能。
例如:
self.c.commit()
self.cur.close()
self.c.close()