我正在使用scthon与python
我可以在cmd中设置输出json文件。但现在我需要在代码中这样做。
我试过了:
设置中的FEED_EXPORTERS = {
'jsonlines': 'scrapy.contrib.exporter.JsonLinesItemExporter',
}
FEED_FORMAT = 'jsonlines'
def __init(self):
settings.overrides['FEED_URI'] = 'output.json'
我正在开发一个简单的蜘蛛,所以我只需要Item Exporter,我不需要创建任何项目管道。
感谢您的帮助
答案 0 :(得分:1)
答案可以在Scrapy文档的示例中找到。您可以通过编写正确的项目管道输出到任何格式,如下所示:
import json
class JsonWriterPipeline(object):
def __init__(self):
self.file = open('items.jl', 'wb')
def process_item(self, item, spider):
line = json.dumps(dict(item)) + "\n"
self.file.write(line)
return item
请注意,您还必须在默认的Scrapy项目设置文件中包含此管道。