调用scrapy自身的Exporter输出
编辑pipeline文件
import json from scrapy.exporters import JsonItemExporter #引入Exporter
class JsonExporterPipeline(object): #调用scrapy提供的JSONExporter导出JSON文件 def __init__(self): self.file = open('articleexporter.json','wb') #打开文件,定义文件名,二进制 self.exporter = JsonItemExporter(self.file,encoding="utf-8") #进行实例化 self.exporter.start_exporting() def close_spider(self,spoder): self.exporter.finish_exporting() self.file.close() def process_item(self,item,spider): #将item写入文件 self.exporter.export_item(item) return item
修改setting文件
ITEM_PIPELINES = { 'Redbacktest.pipelines.RedbacktestPipeline': 300, 'Redbacktest.pipelines.JsonExporterPipeline': 2, } #按需修改