Valitse proxy jokaiselle Splash-resurssille
Valitse Splash-proxy renderöintitasolla tai on_request-takaisinkutsussa, kun yksittäiset resurssit tarvitsevat eri reittejä.
Scrapy-pyyntö voi tavoittaa Splashin, vaikka Splashin sisällä oleva selain tarvitsee yhä erilaisen lähtevän reitin. Nämä ovat kaksi yhteyttä:
Scrapy → Splash API
Splash browser → forward proxy → websiteYhtä renderöintiä kohden yhtä proxyä varten välitä HTTP API:n proxy-argumentti. Splash 3.5 dokumentoi proxy-URL:n kuten http://proxy.example:8080 tai määritetyn proxy-profiilin nimen. URL-muoto tukee myös SOCKS5:tä ja valinnaisia tunnistetietoja.
Kun yksittäiset sivun resurssit tarvitsevat eri päätepisteitä, käytä execute-skriptiä ja rekisteröi valinta ennen navigointia:
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()
endVälitä default_proxy ja special_proxy isäntäniminä ja special_resource tarkkana resurssin URL:na, joka reititetään erikseen. Korvaa esimerkin yksittäinen portti, kun kaksi kuuntelijaa eroavat. Muut resurssit saavat oletusreitin. HTTP-proxyluettelo tarjoaa päätepiste-ehdokkaita näille isäntä- ja porttikentille, kun julkisten resurssien reitit sallitaan eikä ehdokkaisiin sovelleta proxy-tunnistetietoja.
request-metodi hyväksyy valinnaiset username- ja password-kentät. Tyypillä HTTP HTTPS-kohteet käyttävät CONNECTia kyseisen HTTP-proxyn kautta; ne eivät vaadi keksittyä HTTPS-proxytyyppiä.
Takaisinkutsu suoritetaan ennen jokaista pyyntöä. Sen request-metodit eivät voi muuttaa pyyntöä lähettämisen jälkeen, eikä takaisinkutsu voi kutsua asynkronisia Splash-metodeja, kuten splash:go tai splash:wait.
Pidä reitin valinta vakaana, kun sivu odottaa yhtä istuntoa tai lähdeidentiteettiä. Jokaisen kuvan ja API-pyynnön satunnainen ohjaaminen toiseen ulostuloon voi tuottaa renderöidyn sivun, jonka pyynnöt eivät enää kuulu yhteen yhtenäiseen istuntoon.