Vyberte proxy pre každý zdroj Splash
Vyberte proxy Splash na úrovni vykresľovania alebo v spätnom volaní on_request, keď jednotlivé zdroje potrebujú rôzne trasy.
Požiadavka Scrapy môže úspešne dosiahnuť Splash, zatiaľ čo prehliadač vnútri Splash stále potrebuje inú odchádzajúcu trasu. Sú to dve spojenia:
Scrapy → Splash API
Splash browser → forward proxy → websitePre jednu proxy na vykreslenie odovzdajte argument proxy rozhrania HTTP API. Splash 3.5 dokumentuje URL proxy ako http://proxy.example:8080 alebo názov nakonfigurovaného profilu proxy. Formát URL podporuje aj SOCKS5 a voliteľné prihlasovacie údaje.
Keď jednotlivé zdroje stránky potrebujú rôzne koncové body, použite skript execute a zaregistrujte voľbu pred navigáciou:
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()
endOdovzdajte default_proxy a special_proxy ako názvy hostiteľov a special_resource ako presnú URL zdroja, ktorý sa má smerovať samostatne. Nahraďte jediný port z príkladu, keď sa oba naslúchajúce procesy líšia. Ostatné zdroje dostanú predvolenú trasu. Zoznam proxy HTTP ponúka kandidátov koncových bodov pre tieto polia hostiteľa a portu, keď sú povolené trasy k verejným zdrojom a na kandidátov sa neuplatňujú prihlasovacie údaje proxy.
Metóda request prijíma voliteľné polia username a password. S typom HTTP ciele HTTPS používajú CONNECT cez túto HTTP proxy; nevyžadujú vymyslený typ HTTPS proxy.
Spätné volanie sa spúšťa pred každou požiadavkou. Jeho metódy request nemôžu zmeniť požiadavku po odoslaní a spätné volanie nemôže volať asynchrónne metódy Splash, ako sú splash:go alebo splash:wait.
Udržujte voľbu trasy stabilnú, keď stránka očakáva jednu reláciu alebo identitu zdroja. Náhodné priradenie každého obrázka a požiadavky API inému výstupu môže vytvoriť vykreslenú stránku, ktorej požiadavky už nepatria jednej súvislej relácii.