通过CrawlerRunner运行多个蜘蛛。无法将输出存储在JSON文件中

时间:2017-06-28 19:07:10

标签: python json scrapy scrapy-spider

我正在使用CrawlerRunner一个接一个地运行多个蜘蛛。我想将结果保存在JSON文件中,但我无法这样做。

CODE(try.py)
from scrapy.spiders import Spider
from scrapy.selector import Selector
from twisted.internet import reactor
from scrapy.crawler import CrawlerRunner
from scrapy.utils.log import configure_logging
import scrapy

class MySpider1(Spider)
#defining class

class MySpider2(Spider)
#defining class            

class MySpider3(Spider) 
#defining class

class MySpider4(Spider)
#defining class

configure_logging()

runner = CrawlerRunner()

runner.crawl(MySpider1)

runner.crawl(MySpider2)

runner.crawl(MySpider3)

runner.crawl(MySpider4)

d = runner.join()

d.addBoth(lambda _: reactor.stop())

reactor.run()

所有类都有屈服方法。

我正在使用此命令运行脚本:

scrapy runspider try.py -o i1.json

在conda提示符下生成正确的输出,但创建了空i1.json 但是当我在单个文件中运行蜘蛛时,我获得了具有适当内容的json文件。

那么在一起运行多个蜘蛛时如何将数据存储在JSON文件中?

0 个答案:

没有答案