我在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
那么,有人能告诉我现在该怎么做吗?
答案 0 :(得分:1)
事实证明这很简单 - 对我来说一定是来不及。
替换
from scrapy.xlib.pydispatch import dispatcher
带
from pydispatch import dispatcher
正如在弃用警告中明确指出的那样
otherwise import pydispatch directly if needed.