Scrapy -- 从脚本调用scrapy时,如何立即将字典返回给进程,而不是导出到json文件
Posted
技术标签:
【中文标题】Scrapy -- 从脚本调用scrapy时,如何立即将字典返回给进程,而不是导出到json文件【英文标题】:Scrapy -- When calling scrapy from script, how to return a dictionary to the process immediately, instead of export to json file 【发布时间】:2015-06-06 17:58:52 【问题描述】:The official tutorial指定如何在python脚本中调用scrapy的方式
通过更改以下设置属性:
settings.overrides['FEED_URI'] = output_path
settings.overrides['FEED_FORMAT'] = 'json'
我能够将抓取的数据存储在 json 文件中。
但是,我正在尝试处理并返回在我定义的函数中立即抓取的数据。因此,其他函数可以调用这个包装函数来报废一些网站。
我认为FEED_URI
肯定有一些设置可以玩,但我不确定。任何建议将不胜感激!
【问题讨论】:
创建管道?见this answer(非官方教程)。 【参考方案1】:Feed 导出旨在序列化您抓取的数据(请参阅feed export documentation)。您正在尝试做的事情不涉及序列化。
您想要做的是创建一个pipeline。 Scrapy 会将抓取的Items
传递给管道。它们是字典,你可以用它们做任何你想做的事情。
【讨论】:
以上是关于Scrapy -- 从脚本调用scrapy时,如何立即将字典返回给进程,而不是导出到json文件的主要内容,如果未能解决你的问题,请参考以下文章
从crontab调用scrapy项目时如何避免“找不到模块”错误?
Scrapy 使用 crawlerprocess 运行时抛出错误