Scrapy-beiðni getur náð til Splash, á meðan vafrinn inni í Splash þarf enn aðra útleið. Þetta eru tvær tengingar:

Scrapy → Splash API
Splash browser → forward proxy → website

Fyrir eitt proxy á hverja teikningu skal senda proxy-röksemdi HTTP API. Splash 3.5 skjalfestir proxy-slóð eins og http://proxy.example:8080, eða nafn á stilltu proxy-sniði. Slóðarsniðið styður einnig SOCKS5 og valfrjáls auðkenni.

Þegar einstakar síðuauðlindir þurfa mismunandi endapunkta, notaðu execute-skript og skráðu valið fyrir leiðsögn:

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

Sendu default_proxy og special_proxy sem hýsilnöfn og special_resource sem nákvæma slóð auðlindarinnar sem á að beina sérstaklega. Skiptu út eina dæmisportinu þegar hlustararnir tveir eru mismunandi. Aðrar auðlindir fá sjálfgefna slóð. HTTP-proxylistinn býður endapunktaframbjóðendur fyrir þessi hýsil- og portssvið þegar slóðir til opinberra auðlinda eru leyfðar og engum proxy-auðkennum er beitt á frambjóðendurna.

request-aðferðin tekur við valfrjálsum sviðum username og password. Með tegundinni HTTP nota HTTPS-áfangastaðir CONNECT í gegnum það HTTP-proxy; þeir þurfa ekki upphugsaða HTTPS-proxytegund.

Afturkallið keyrir fyrir hverja beiðni. request-aðferðir þess geta ekki breytt beiðni eftir að hún hefur verið send, og afturkallið getur ekki kallað á ósamstundis Splash-aðferðir eins og splash:go eða splash:wait.

Haltu slóðarvalinu stöðugu þegar síðan væntir einnar lotu eða einnar auðkennis uppruna. Að úthluta hverri mynd og API-beiðni af handahófi til annarrar útleiðar getur myndað teiknaða síðu þar sem beiðnirnar tilheyra ekki lengur einni samfelldri lotu.

Tengdir greinar