我正在使用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文件中?