scrapy中pipellines的深度使用
pipeLines文件中的open_spider函数和close_spider函数都只会执行一次。
(open_spider函数:爬虫开启时只执行一次;close_spider函数:爬虫结束时执行一次)
1 import json#用于文件的写入 2 class YanguangPipeline(object): 3 # 4 def open_spider(self,spider): 5 #爬虫开启时只执行一次 6 #爬虫开启时,找到文件保存位置,并打开 7 self.file=open(spider.settings.get("SAVE_FILE","./temp.json"),"w") 8 9 def close_spider(self,spider): 10 #爬虫结束时执行一次 11 #爬虫结束后将文件关闭,这种方式,若中间报错会使数据无法存储。 12 self.file.close() 13 14 def process_item(self, item, spider): 15 #将爬取数据写入文件 16 line=json.dumps(dict(item))+"\n" 17 self.file.write(line)