O cerere Scrapy poate ajunge la Splash, în timp ce browserul din interiorul Splash are încă nevoie de o rută de ieșire diferită. Acestea sunt două conexiuni:

Scrapy → Splash API
Splash browser → forward proxy → website

Pentru un proxy pe randare, transmiteți argumentul proxy al API-ului HTTP. Splash 3.5 documentează un URL de proxy precum http://proxy.example:8080, sau un nume de profil de proxy configurat. Formatul URL acceptă și SOCKS5 și acreditări opționale.

Când resurse individuale ale paginii necesită puncte de ieșire diferite, utilizați un script execute și înregistrați selecția înainte de navigare:

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

Transmiteți default_proxy și special_proxy ca nume de gazdă, iar special_resource ca URL-ul exact al resursei care trebuie rutată separat. Înlocuiți singurul port din exemplu când cele două ascultătoare diferă. Celelalte resurse primesc ruta implicită. Lista de proxy-uri HTTP oferă candidați de punct de ieșire pentru aceste câmpuri de gazdă și port atunci când rutele către resurse publice sunt permise și nu se aplică acreditări de proxy candidaților.

Metoda request acceptă câmpurile opționale username și password. Cu tipul HTTP, destinațiile HTTPS folosesc CONNECT prin acel proxy HTTP; nu necesită un tip de proxy HTTPS inventat.

Callback-ul rulează înainte de fiecare cerere. Metodele sale request nu pot modifica o cerere după ce a fost trimisă, iar callback-ul nu poate apela metode asincrone Splash precum splash:go sau splash:wait.

Mențineți stabilă alegerea rutei atunci când pagina așteaptă o singură sesiune sau o identitate de sursă. Atribuirea aleatorie a fiecărei imagini și cereri API către altă ieșire poate produce o pagină randată ale cărei cereri nu mai aparțin unei sesiuni coerente.

Articole similare