Kies in proxy foar elke Splash-boarne
Kies in Splash-proxy op renderingsnivo of yn in on_request-omslach as yndividuele boarnen ferskate rûtes nedich hawwe.
In Scrapy-fersyk kin Splash berikke, wylst de browser yn Splash noch in oare útgeande rûte nedich hat. Dat binne twa ferbiningen:
Scrapy → Splash API
Splash browser → forward proxy → websiteFoar ien proxy per rendering jouwe jo it proxy-argumint fan de HTTP-API troch. Splash 3.5 dokumintearret in proxy-URL lykas http://proxy.example:8080, of in konfigurearre proxy-profylnamme. It URL-formaat stipet ek SOCKS5 en opsjonele bewiisynformaasje.
As yndividuele sidenboarnen ferskate einpunten nedich hawwe, brûkje dan in execute-skript en registrearje de kar foar navigaasje:
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()
endJouwe default_proxy en special_proxy as hostnammen troch, en special_resource as de krekte boarne-URL dy't apart rûte wurde moat. Ferfange de iene foarbyldpoarte as de twa listenings ferskille. Oare boarnen krije de standertrûte. De HTTP-proxylist biedt einpuntkandidaten foar dizze host- en poartefjilden as rûtes nei publike boarnen tastien binne en gjin proxy-bewiisynformaasje op de kandidaten tapast wurdt.
De request-metoade akseptearret opsjonele username- en password-fjilden. Mei it type HTTP brûke HTTPS-bestimmingen CONNECT fia dy HTTP-proxy; se freegje gjin betochte HTTPS-proxytype.
De omslach rint foar elk fersyk. Syn request-metoades kinne in fersyk net feroarje nei't it ferstjoerd is, en de omslach kin gjin asynkrone Splash-metoades lykas splash:go of splash:wait oanroppe.
Hâld de rûtekar stabyl as de side ien sesje of boarne-identiteit ferwachtet. Elk byld en API-fersyk willekeurich oan in oare útgong tawize kin in renderde side opleverje wêrfan de fersiken net mear by ien gearhingjende sesje hearre.