Një kërkesë Scrapy mund të arrijë Splash, ndërsa shfletuesi brenda Splash ende ka nevojë për një rrugë tjetër dalëse. Këto janë dy lidhje:

Scrapy → Splash API
Splash browser → forward proxy → website

Për një proxy për renderim, kaloni argumentin proxy të HTTP API. Splash 3.5 dokumenton një URL proxy si http://proxy.example:8080, ose një emër profili proxy të konfiguruar. Formati i URL-së mbështet gjithashtu SOCKS5 dhe kredencialet opsionale.

Kur burime individuale të faqes kërkojnë pika fundore të ndryshme, përdorni një skript execute dhe regjistroni zgjedhjen përpara navigimit:

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

Kaloni default_proxy dhe special_proxy si emra hostesh, dhe special_resource si URL-në e saktë të burimit që duhet të rrugëtohet veçmas. Zëvendësoni portin e vetëm të shembullit kur dy dëgjuesit ndryshojnë. Burimet e tjera marrin rrugën e paracaktuar. Lista e proxy-ve HTTP ofron kandidatë pike fundore për këto fusha hosti dhe porti kur rrugët drejt burimeve publike lejohen dhe asnjë kredencial proxy nuk zbatohet për kandidatët.

Metoda request pranon fushat opsionale username dhe password. Me tipin HTTP, destinacionet HTTPS përdorin CONNECT përmes atij proxy HTTP; ato nuk kërkojnë një tip proxy HTTPS të sajuar.

Callback-u ekzekutohet përpara çdo kërkese. Metodat e tij request nuk mund të ndryshojnë një kërkesë pasi është dërguar, dhe callback-u nuk mund të thërrasë metoda asinkrone të Splash si splash:go ose splash:wait.

Mbani zgjedhjen e rrugës të qëndrueshme kur faqja pret një sesion ose një identitet burimi. Caktimi rastësor i çdo imazhi dhe kërkese API në një dalje tjetër mund të prodhojë një faqe të renderuar, kërkesat e së cilës nuk i përkasin më një sesioni koherent.

Artikuj të ngjashëm