如何在Scrapy中的process_exception上获取响应状态代码?

时间:2017-12-21 13:21:14

标签: python web-scraping exception-handling scrapy scrapy-middleware

我想重试Scrapy请求,如果它获得异常并且响应状态代码是429.问题是我不知道如何在process_exception上获得响应状态。我怎么能这样做,因为似乎无法访问process_exception内的响应对象?

class FakeUserAgentErrorRetryMiddleware(RetryMiddleware):

    def process_exception(self, request, exception, spider):
        if type(exception) == FakeUserAgentError: return self._retry(request, exception, spider)

1 个答案:

答案 0 :(得分:0)

如果您想在response.status = 429时重试请求  你应该在 RETRY_HTTP_CODES

中添加429
RETRY_HTTP_CODES = [429]

您也可以设置使用RETRY_TIMES

重试的最大次数