阅读(4269) (0)

scrapy 2.3 访问errback函数中的其他数据

2021-06-09 13:52:36 更新

在处理请求失败的情况下,您可能会对访问回调函数的参数感兴趣,以便可以根据errback中的参数进一步处理。下面的示例演示如何使用 Failure.request.cb_kwargs ::

def parse(self, response):
    request = scrapy.Request('http://www.example.com/index.html',
                             callback=self.parse_page2,
                             errback=self.errback_page2,
                             cb_kwargs=dict(main_url=response.url))
    yield request

def parse_page2(self, response, main_url):
    pass

def errback_page2(self, failure):
    yield dict(
        main_url=failure.request.cb_kwargs['main_url'],
    )