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 → website

Foar 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()
end

Jouwe 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.

Relatearre artikelen