#------------------简单的对item操作方式----------------------------# import json class QsbkPipeline(object): def __init__(self): self.fp=open('qsbk1.json','w',encoding="utf-8") def open_spider(self,spider): print('爬虫开始。。。。。') def process_item(self, item, spider): # item_json=json.dumps(dict(item),ensure_ascii=False) # self.fp.write(item_json+'\n') return item def close_spider(self,spider): self.fp.close() print('爬虫结束。。。。。') #------------------对item操作的一种方式(高级方式推荐方式之一)----------------------------# from scrapy.exporters import JsonItemExporter #以二进制写入,全部完成后写入(列表形式) class QsbkPipeline(object): def __init__(self): self.fp=open('qsbk1.json','wb') self.exporter = JsonItemExporter(self.fp,ensure_ascii=False,encoding='utf-8') self.exporter.start_exporting() def open_spider(self,spider): print('爬虫开始。。。。。') def process_item(self, item, spider): self.exporter.export_item(item) #二进制写入开始 return item def close_spider(self,spider): self.exporter.finish_exporting() #二进制写入关闭 self.fp.close() print('爬虫结束。。。。。') #-----------------------另一种对item操作方式(高级方式推荐方式之一,强烈推介)----------------------# from scrapy.exporters import JsonLinesItemExporter #以二进制写入,完成一个就写#入一个 class QsbkPipeline(object): def __init__(self): self.fp=open('qsbk2.json','wb') self.exporter = JsonLinesItemExporter(self.fp,ensure_ascii=False,encoding='utf-8') self.exporter.start_exporting() def open_spider(self,spider): print('爬虫开始。。。。。') def process_item(self, item, spider): self.exporter.export_item(item) #二进制写入开始 return item def close_spider(self,spider): self.fp.close() print('爬虫结束。。。。。') #注释: #四个函数分别为 1.初始化爬虫函数(初始化前需要的功能所执行函数) # 2.开启爬虫函数(爬虫开始函数所执行功能) # 3.爬虫进行中执行的函数(进行中函数所执行的功能,将数据清理,去重等#写在这里) # 4.关闭爬虫执行的函数(关闭爬虫函数所执行功能)
scrapy的使用-Pipelines
猜你喜欢
转载自www.cnblogs.com/superSmall/p/12057289.html
今日推荐
周排行