Permintaan Scrapy dapat menghubungi Splash dengan berhasil, sementara browser di dalam Splash masih membutuhkan rute keluar yang berbeda. Ini dua koneksi:

Scrapy → Splash API
Splash browser → forward proxy → website

Untuk satu proxy per render, teruskan argumen proxy dari HTTP API. Splash 3.5 mendokumentasikan URL proxy seperti http://proxy.example:8080, atau nama profil proxy yang dikonfigurasi. Format URL-nya juga mendukung SOCKS5 dan kredensial opsional.

Saat sumber daya halaman individual membutuhkan titik akhir berbeda, gunakan skrip execute dan daftarkan pilihan sebelum navigasi:

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

Teruskan default_proxy dan special_proxy sebagai nama host, dan special_resource sebagai URL sumber daya yang tepat untuk dirutekan secara terpisah. Ganti satu-satunya port contoh ketika kedua listener berbeda. Sumber daya lain menerima rute default. Daftar proxy HTTP menyediakan kandidat titik akhir untuk kolom host dan port ini ketika rute sumber daya publik diizinkan dan tidak ada kredensial proxy yang diterapkan pada kandidat.

Metode request menerima kolom username dan password opsional. Dengan tipe HTTP, tujuan HTTPS memakai CONNECT melalui proxy HTTP tersebut; tujuan tersebut tidak memerlukan tipe proxy HTTPS yang dibuat-buat.

Panggilan balik berjalan sebelum setiap permintaan. Metode request-nya tidak dapat mengubah permintaan setelah dikirim, dan panggilan balik tidak dapat memanggil metode Splash asinkron seperti splash:go atau splash:wait.

Jaga pilihan rute tetap stabil saat halaman mengharapkan satu sesi atau identitas sumber. Menetapkan setiap gambar dan permintaan API secara acak ke saluran keluar lain dapat menghasilkan halaman terender yang permintaannya tidak lagi menjadi bagian dari satu sesi yang koheren.

Artikel terkait