Escolla un proxy para cada recurso de Splash
Seleccione un proxy de Splash no ámbito de renderización ou nunha devolución de chamada on_request cando recursos individuais necesitan rutas diferentes.
Unha solicitude de Scrapy pode chegar a Splash correctamente mentres o navegador dentro de Splash aínda necesita unha ruta de saída distinta. Son dúas conexións:
Scrapy → Splash API
Splash browser → forward proxy → websitePara un proxy por renderización, pase o argumento proxy da API HTTP. Splash 3.5 documenta un URL de proxy como http://proxy.example:8080, ou un nome de perfil de proxy configurado. O seu formato de URL tamén admite SOCKS5 e credenciais opcionais.
Cando recursos individuais da páxina necesitan puntos de saída diferentes, use un script execute e rexistre a selección antes da navegación:
function main(splash, args)
splash:on_request(function(request)
local host = args.default_proxy
if request.url == args.special_resource then
host = args.special_proxy
end
request:set_proxy{host = host, port = 8080, type = 'HTTP'}
end)
assert(splash:go(args.url))
return splash:html()
endPase default_proxy e special_proxy como nomes de host, e special_resource como o URL exacto do recurso que debe encamiñarse por separado. Substitúa o único porto do exemplo cando os dous oíntes difiran. Os demais recursos reciben a ruta predeterminada. A lista de proxies HTTP ofrece candidatos de punto de saída para estes campos de host e porto cando se permiten rutas de recursos públicos e non se aplican credenciais de proxy aos candidatos.
O método request acepta os campos opcionais username e password. Co tipo HTTP, os destinos HTTPS usan CONNECT a través dese proxy HTTP; non necesitan un tipo de proxy HTTPS inventado.
A devolución de chamada execútase antes de cada solicitude. Os seus métodos request non poden cambiar unha solicitude unha vez enviada, e a devolución de chamada non pode chamar métodos asíncronos de Splash como splash:go ou splash:wait.
Manteña estable a selección de ruta cando a páxina espera unha soa sesión ou identidade de orixe. Asignar ao azar cada imaxe e solicitude de API a outra saída pode producir unha páxina renderizada cuxas solicitudes xa non pertencen a unha sesión coherente.