Unha solicitude de Scrapy pode chegar a Splash correctamente mentres o navegador dentro de Splash aínda necesita unha ruta de saída distinta. Son dúas conexións:

Scrapy → Splash API
Splash browser → forward proxy → website

Para un proxy por renderización, pase o argumento proxy da API HTTP. Splash 3.5 documenta un URL de proxy como http://proxy.example:8080, ou un nome de perfil de proxy configurado. O seu formato de URL tamén admite SOCKS5 e credenciais opcionais.

Cando recursos individuais da páxina necesitan puntos de saída diferentes, use un script execute e rexistre a selección antes da navegación:

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

Pase default_proxy e special_proxy como nomes de host, e special_resource como o URL exacto do recurso que debe encamiñarse por separado. Substitúa o único porto do exemplo cando os dous oíntes difiran. Os demais recursos reciben a ruta predeterminada. A lista de proxies HTTP ofrece candidatos de punto de saída para estes campos de host e porto cando se permiten rutas de recursos públicos e non se aplican credenciais de proxy aos candidatos.

O método request acepta os campos opcionais username e password. Co tipo HTTP, os destinos HTTPS usan CONNECT a través dese proxy HTTP; non necesitan un tipo de proxy HTTPS inventado.

A devolución de chamada execútase antes de cada solicitude. Os seus métodos request non poden cambiar unha solicitude unha vez enviada, e a devolución de chamada non pode chamar métodos asíncronos de Splash como splash:go ou splash:wait.

Manteña estable a selección de ruta cando a páxina espera unha soa sesión ou identidade de orixe. Asignar ao azar cada imaxe e solicitude de API a outra saída pode producir unha páxina renderizada cuxas solicitudes xa non pertencen a unha sesión coherente.

Artigos relacionados