Una sol·licitud de Scrapy pot arribar correctament a Splash mentre el navegador dins de Splash encara necessita una ruta de sortida diferent. Aquestes són dues connexions:

Scrapy → Splash API
Splash browser → forward proxy → website

Per a un proxy per renderitzat, passeu l'argument proxy de l'API HTTP. Splash 3.5 documenta una URL de proxy com http://proxy.example:8080, o un nom de perfil de proxy configurat. El format d'URL també admet SOCKS5 i credencials opcionals.

Quan recursos individuals de la pàgina necessiten punts de sortida diferents, feu servir un script execute i registreu la selecció abans de la navegació:

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

Passeu default_proxy i special_proxy com a noms d'amfitrió, i special_resource com l'URL exacta del recurs que s'ha d'encaminar per separat. Substituïu el port únic de l'exemple quan els dos oients difereixin. Els altres recursos reben la ruta per defecte. La llista de proxys HTTP ofereix candidats de punt final per a aquests camps d'amfitrió i port quan es permeten rutes de recursos públics i no s'apliquen credencials de proxy als candidats.

El mètode request accepta els camps opcionals username i password. Amb el tipus HTTP, les destinacions HTTPS utilitzen CONNECT a través d'aquest proxy HTTP; no necessiten un tipus de proxy HTTPS inventat.

La crida s'executa abans de cada sol·licitud. Els seus mètodes request no poden canviar una sol·licitud un cop enviada, i la crida no pot invocar mètodes asíncrons de Splash com splash:go o splash:wait.

Mantingueu estable la selecció de ruta quan la pàgina espera una sola sessió o identitat d'origen. Assignar a l'atzar cada imatge i sol·licitud d'API a una altra sortida pot produir una pàgina renderitzada les sol·licituds de la qual ja no pertanyen a una sessió coherent.

Articles relacionats