Velg en proxy for hver Splash-ressurs
Velg en Splash-proxy på gjengivelsesnivå eller i en on_request-tilbakeringing når enkelte ressurser trenger ulike ruter.
En Scrapy-forespørsel kan nå Splash, mens nettleseren inne i Splash fortsatt trenger en annen utgående rute. Dette er to tilkoblinger:
Scrapy → Splash API
Splash browser → forward proxy → websiteFor én proxy per gjengivelse sender du proxy-argumentet til HTTP API-et. Splash 3.5 dokumenterer en proxy-URL som http://proxy.example:8080, eller et konfigurert proxyprofilnavn. URL-formatet støtter også SOCKS5 og valgfrie påloggingsdata.
Når enkelte sideressurser trenger ulike endepunkter, bruk et execute-skript og registrer valget før navigering:
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()
endSend default_proxy og special_proxy som vertsnavn, og special_resource som den nøyaktige ressurs-URL-en som skal rutes separat. Bytt ut den ene eksempelporten når de to lytterne er forskjellige. Andre ressurser får standardruten. HTTP-proxylisten tilbyr endepunktkandidater for disse verts- og portfeltene når ruter til offentlige ressurser er tillatt og ingen proxy-påloggingsdata brukes på kandidatene.
request-metoden godtar de valgfrie feltene username og password. Med typen HTTP bruker HTTPS-mål CONNECT gjennom den HTTP-proxyen; de krever ikke en oppdiktet HTTPS-proxytype.
Tilbakeringingen kjører før hver forespørsel. Dens request-metoder kan ikke endre en forespørsel etter at den er sendt, og tilbakeringingen kan ikke kalle asynkrone Splash-metoder som splash:go eller splash:wait.
Hold rutevalget stabilt når siden forventer én økt eller én kildeidentitet. Å tildele hvert bilde og hver API-forespørsel tilfeldig til en annen utgang kan gi en gjengitt side der forespørslene ikke lenger tilhører én sammenhengende økt.