Scrapy process.crawl() 将数据导出到 json
Posted
技术标签:
【中文标题】Scrapy process.crawl() 将数据导出到 json【英文标题】:Scrapy process.crawl() to export data to json 【发布时间】:2016-10-18 23:50:29 【问题描述】:这可能是Passing arguments to process.crawl in Scrapy python 的子问题,但作者将答案(我问自己的子问题没有回答)标记为令人满意的答案。
这是我的问题:我不能使用scrapy crawl mySpider -a start_urls(myUrl) -o myData.json
相反,我想/需要使用crawlerProcess.crawl(spider)
我已经想出了几种传递参数的方法(无论如何它在我链接的问题中得到了回答)但我无法理解我应该如何告诉它转储数据进入 myData.json...-o myData.json
部分
有人有建议吗?还是我只是不明白它应该如何工作..?
代码如下:
crawlerProcess = CrawlerProcess(settings)
crawlerProcess.install()
crawlerProcess.configure()
spider = challenges(start_urls=["http://www.myUrl.html"])
crawlerProcess.crawl(spider)
#For now i am just trying to get that bit of code to work but obviously it will become a loop later.
dispatcher.connect(handleSpiderIdle, signals.spider_idle)
log.start()
print "Starting crawler."
crawlerProcess.start()
print "Crawler stopped."
【问题讨论】:
【参考方案1】:您需要在设置中指定它:
process = CrawlerProcess(
'FEED_URI': 'file:///tmp/export.json',
)
process.crawl(MySpider)
process.start()
【讨论】:
但是你不能使用它来传递几个参数,例如-o Sachin_urls.csv -t csv -L INFO --logfile Sachin.log
。当使用 `scrapy crawl -a -o Sachin_urls.csv -t csv myspidername -L INFO --logfile Sachin.log 时,这将完美运行。有什么指点吗?以上是关于Scrapy process.crawl() 将数据导出到 json的主要内容,如果未能解决你的问题,请参考以下文章