比如我们使用fake_useragent 遇到报错FakeUserAgentError,为了重复这次请求,只需如下操作:
from scrapy.contrib.downloadermiddleware.retry import RetryMiddleware
from fake_useragent import FakeUserAgentError
class FakeUserAgentErrorRetryMiddleware(RetryMiddleware):
def process_exception(self, request, exception, spider):
if type(exception) == FakeUserAgentError: return self._retry(request, exception, spider)