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)

 

posted @ 2018-11-23 22:12  飘在天上的云  阅读(521)  评论(0编辑  收藏  举报