Scrapy if Request错误然后返回项目

时间:2012-08-19 13:06:30

标签: python scrapy web-crawler

我试图找出一个解决方案......

我的Scrapy蜘蛛抓取网站并将一些数据输入到项目中,然后根据抓取的数据返回请求,然后抓取其他网站以完成该项目。

它发生的情况是,有时第二个URL可以返回错误,因此项目也不会输出。

如何将项目带到errback功能?

提前致谢。

1 个答案:

答案 0 :(得分:3)

来自docs

  

errback(callable) - 如果有任何异常将被调用的函数   在处理请求时被引发。这包括页面   失败了404 HTTP错误等。它收到一个扭曲的失败   instance作为第一个参数。

尝试使用lambda:

    ...
    yield Request(..., errback=lambda failure, item=item: self.on_error(failure, item))

def on_error(self, failure, item):
    ...