我通常这样称呼我的蜘蛛:
scrapy crawl Spider -o fileName -t json
并且我在fileName文件中打印了json格式的正确数据。现在我想这样称呼我的蜘蛛:
fileName
scrapy crawl Spider
是否有一种方法可以不使用-o -t参数就将输出打印到文件中?
ruarlubt1#
是的,可以这样做。添加到您的设置
FEED_EXPORTERS = { 'jsonlines': 'scrapy.contrib.exporter.JsonLinesItemExporter', } FEED_FORMAT = 'jsonlines' FEED_URI = "NAME_OF_FILE.json"
供参考http://doc.scrapy.org/en/latest/topics/feed-exports.html
hof1towb2#
下面是我在 Scrapy 2.6.1 中的做法
def open_spider(self, spider: YellowpagesCategorySpiderSpider): feeds = spider.settings.attributes['FEEDS'].value output_file_names = list(feeds) if len(output_file_names) > 1: raise RuntimeError(f"Only one output file is allowed, but {len(output_file_names)} were found") self.output_file_name = output_file_names[0]
2条答案
按热度按时间ruarlubt1#
是的,可以这样做。添加到您的设置
供参考
http://doc.scrapy.org/en/latest/topics/feed-exports.html
hof1towb2#
下面是我在 Scrapy 2.6.1 中的做法