В процессе захвата встречаются 403 кода состояния. Требование: автоматически использовать агента при обнаружении кода состояния 403.
Проверка и ответ на код состояния настроен в downloadermiddleware, но, похоже, работает только для первой ссылки
def process_response(self, request, response, spider):
status_code = [403]
if response.status in status_code:
spider.logger.debug('Error ======= %s %s , 开始使用 Proxy 代理' % (response.status, request.url))
import importlib
settings = importlib.import_module('settings')
proxy = AbuYunProxyMiddleware(settings=settings)
request.meta['proxy'] = proxy.proxy_server
request.headers['Proxy-Authorization'] = proxy.proxy_authorization
return request
return response