-1

예외가 발생하고 응답 상태 코드가 429 인 경우 Scrapy 요청을 다시 시도하고 싶습니다. 문제는 process_exception에서 응답 상태를 얻는 방법을 모른다는 것입니다. process_exception 안에 응답 객체에 액세스 할 수있는 방법이 없기 때문에 어떻게해야합니까? 당신은 당신이 response.status = 429 이있을 때 요청을 다시 시도하려면Scrapy에서 process_exception에 대한 응답 상태 코드를 얻는 방법?

class FakeUserAgentErrorRetryMiddleware(RetryMiddleware): 

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

답변

0

당신은 RETRY_HTTP_CODES

에 429를 추가해야
RETRY_HTTP_CODES = [429] 
또한 최대 횟수가 RETRY_TIMES

로 다시 시도하도록 설정 설정할 수 있습니다

+0

그건 스플래쉬 스플래시에서는 작동하지 않으므로이 방법을 사용하고 싶습니다. –

+1

스플래시를 사용한다고 언급하지 않았습니다. – parik

+0

나는 그것을 언급합니다. ow –