Scrapy pieprasījums var sasniegt Splash, kamēr pārlūkprogrammai Splash iekšienē joprojām nepieciešams cits izejošais maršruts. Tie ir divi savienojumi:

Scrapy → Splash API
Splash browser → forward proxy → website

Vienam starpniekserverim uz vienu renderējumu nododiet HTTP API proxy argumentu. Splash 3.5 dokumentē starpniekservera URL, piemēram, http://proxy.example:8080, vai konfigurēta proxy profila nosaukumu. Tā URL formāts atbalsta arī SOCKS5 un neobligātus akreditācijas datus.

Kad atsevišķiem lapas resursiem nepieciešami atšķirīgi galapunkti, izmantojiet execute skriptu un reģistrējiet izvēli pirms navigācijas:

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

Nododiet default_proxy un special_proxy kā resursdatora nosaukumus, bet special_resource kā precīzu tā resursa URL, kas jāmaršrutē atsevišķi. Aizstājiet vienīgo piemēra portu, kad abi klausītāji atšķiras. Pārējie resursi saņem noklusējuma maršrutu. HTTP starpniekserveru saraksts piedāvā galapunktu kandidātus šiem resursdatora un porta laukiem, kad publisko resursu maršruti ir atļauti un kandidātiem netiek piemēroti starpniekservera akreditācijas dati.

request metode pieņem neobligātus username un password laukus. Ar tipu HTTP HTTPS galamērķi izmanto CONNECT caur šo HTTP starpniekserveri; tiem nav vajadzīgs izdomāts HTTPS starpniekservera tips.

Atzvanīšana tiek izpildīta pirms katra pieprasījuma. Tās request metodes nevar mainīt jau nosūtītu pieprasījumu, un atzvanīšana nevar izsaukt asinhronas Splash metodes, piemēram, splash:go vai splash:wait.

Saglabājiet maršruta izvēli stabilu, kad lapa gaida vienu sesiju vai vienu avota identitāti. Katras bildes un API pieprasījuma nejauša piešķiršana citai izejai var radīt renderētu lapu, kuras pieprasījumi vairs nepieder vienai konsekventai sesijai.

Saistītie raksti