通过CrawlerRunner触发从scrapy爬网中检索已删除的项目

时间:2017-06-22 02:27:33

标签: python scrapy

我在scrapy项目中有2只蜘蛛。它们工作正常并产生所需的输出项目。

我想在Web应用程序的后台作业中执行这些蜘蛛。

一切都已设置 - 使用Redis进行后台作业设置的Flask应用程序 - 前端等待结果 - 一切都很好。

除了我似乎无法解决如何在蜘蛛执行时从蜘蛛中获取结果项目。

我最接近的似乎就是这个问题的答案

Get Scrapy crawler output/results in script file function

但似乎是指较旧版本的scrapy(我使用的是1.4.0),我收到了弃用警告

'ScrapyDeprecationWarning:不推荐从scrapy.xlib.pydispatch导入,将来不再支持Scrapy版本。如果您只想连接信号,请使用from_crawler类方法,否则直接导入pydispatch。请参阅:https://github.com/scrapy/scrapy/issues/1762'

检查github问题是否表明这不会起作用于v1.1.0

那么,有人能告诉我现在该怎么做吗?

1 个答案:

答案 0 :(得分:1)

事实证明这很简单 - 对我来说一定是来不及。

替换

from scrapy.xlib.pydispatch import dispatcher

from pydispatch import dispatcher

正如在弃用警告中明确指出的那样

otherwise import pydispatch directly if needed.