Scrapy 1.0 - 从python脚本运行后获取返回值

时间:2015-07-12 08:28:11

标签: python scrapy scrapy-spider

我使用以下代码从python脚本运行我的爬虫:

import scrapy
from scrapy.crawler import CrawlerProcess

process = CrawlerProcess()

process.crawl(MySpider)
process.start() # the script will block here until the crawling is finished

我的MySpider返回一个对象。

如何从中获取返回值?请记住这是Scrapy 1.0。我发现的所有例子都是旧版本的Scrapy。

以上代码来自:http://doc.scrapy.org/en/latest/topics/practices.html#run-scrapy-from-a-script

1 个答案:

答案 0 :(得分:0)

嗯,解决方案是实现自定义项管道以将结果存储在文件中 - 稍后再读取结果。

或者,您也可以在Scrapy中配置导出。例如,将项目导出到名为results.json的文件中:

settings.overrides['FEED_FORMAT'] = 'json'
settings.overrides['FEED_URI'] = 'results.json'

要避免临时文件,您应该使用自定义管道类并在spider_closed信号上处理结果。

您可以参考此答案以获取更多详细信息:https://stackoverflow.com/a/23574703/3941341