Ein Scrapy-førespurnad kan nå Splash, medan nettlesaren inne i Splash framleis treng ein annan utgåande rute. Dette er to tilkoplingar:

Scrapy → Splash API
Splash browser → forward proxy → website

For éin proxy per gjengiving sender du proxy-argumentet til HTTP API-et. Splash 3.5 dokumenterer ein proxy-URL som http://proxy.example:8080, eller eit konfigurert proxyprofilnamn. URL-formatet støttar òg SOCKS5 og valfrie påloggingsopplysningar.

Når einskilde sideressursar treng ulike endepunkt, bruk eit execute-skript og registrer valet 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()
end

Send default_proxy og special_proxy som vertsnamn, og special_resource som den nøyaktige ressurs-URL-en som skal rutast separat. Bytt ut den eine dømeporten når dei to lyttarane er ulike. Andre ressursar får standardruta. HTTP-proxylista tilbyr endepunktkandidatar for desse verts- og portfelta når ruter til offentlege ressursar er tillatne og ingen proxy-påloggingsopplysningar blir brukte på kandidatane.

request-metoden godtek dei valfrie felta username og password. Med typen HTTP brukar HTTPS-mål CONNECT gjennom den HTTP-proxyen; dei krev ikkje ein oppdikta HTTPS-proxytype.

Tilbakekallinga køyrer før kvar førespurnad. request-metodane hennar kan ikkje endre ein førespurnad etter at han er send, og tilbakekallinga kan ikkje kalle asynkrone Splash-metodar som splash:go eller splash:wait.

Hald rutevalet stabilt når sida ventar éi økt eller éin kjeldeidentitet. Å tildele kvart bilete og kvar API-førespurnad tilfeldig til ein annan utgang kan gje ei gjengitt side der førespurnadene ikkje lenger høyrer til éi samanhengande økt.

Relaterte artiklar