我需要在Scrapy中运行一些多线程\多处理工作(因为我有一些使用阻塞调用的库),并在完成后将Request放回Scrapy引擎。
我需要这样的东西:
def blocking_call(self, html):
# ....
# do some work in blocking call
return Request(url)
def parse(self, response):
return self.blocking_call(response.body)
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我认为我应该使用扭曲反应堆和Deferred对象。但是Scrapy parse回调必须仅返回Noneor Request或BaseItemobject。