Proxies por solicitude co middleware de proxy HTTP de Scrapy
Use os metadatos de solicitude de Scrapy e o seu middleware de proxy antes de copiar un middleware de autenticación personalizado antigo nun rastreador.
O middleware de proxy HTTP de Scrapy le un proxy dos metadatos da solicitude:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Substitúa o punto final da documentación e manteña o middleware activado. A lista de proxies HTTP ofrece candidatos públicos para o URL desta solicitude. Isto selecciona a ruta da solicitude; un conxunto de proxies necesita unha lóxica de selección separada.
A autenticación segue o punto final seleccionado
O middleware integrado xestiona as credenciais proporcionadas mediante o seu URL de proxy compatible e a cabeceira de autorización asociada. Escapa os caracteres reservados do URL e evita rexistrar ese URL.
Un middleware separado non debería conservar unha cabeceira Basic para o proxy anterior despois de cambiar o punto final. Deixa que unha soa capa xestione a ruta e as súas credenciais xuntas.
Orde de selección e valores predeterminados
Se un middleware de descarga personalizado escolle o proxy, execútao antes de que o middleware de proxy integrado procese a solicitude. Comproba a orde e a API da versión instalada; as importacións scrapy.contrib obsoletas pertencen a versións anteriores.
A contorna do proceso tamén pode proporcionar valores predeterminados específicos do esquema. Para unha solicitude deliberadamente directa, usa o comportamento especial documentado dos metadatos proxy: unha clave ausente non significa necesariamente acceso directo.
Inspecciona o resultado real. Un 407 refírese á autenticación do proxy, mentres que un límite de velocidade ou unha denegación de acceso do sitio web poden chegar despois de que a ruta funcionase correctamente.