Proksi per Permintaan dengan Middleware Proksi HTTP Scrapy
Gunakan metadata permintaan Scrapy dan middleware proksinya sebelum menyalin middleware autentikasi kustom lama ke dalam crawler.
Middleware proksi HTTP Scrapy membaca proksi dari metadata permintaan:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Ganti endpoint dokumentasi dan biarkan middleware tetap aktif. Daftar proksi HTTP menawarkan kandidat publik untuk URL permintaan ini. Ini memilih rute permintaan; kumpulan proksi memerlukan logika pemilihan terpisah.
Autentikasi mengikuti endpoint yang dipilih
Middleware bawaan menangani kredensial yang disediakan melalui URL proksi yang didukung dan header otorisasi terkait. Escape karakter URL yang dicadangkan dan hindari mencatat URL itu.
Middleware terpisah tidak boleh mempertahankan header Basic untuk proksi sebelumnya setelah endpoint berubah. Biarkan satu lapisan mengelola rute dan kredensialnya bersama-sama.
Urutan pemilihan dan default
Jika middleware pengunduh kustom memilih proksi, jalankan sebelum middleware proksi bawaan memproses permintaan. Periksa urutan dan API rilis yang terpasang; impor scrapy.contrib yang usang milik rilis lama.
Lingkungan proses juga dapat menyediakan default khusus skema. Untuk permintaan yang sengaja langsung, gunakan perilaku khusus metadata proxy yang didokumentasikan: kunci yang tidak ada tidak selalu berarti akses langsung.
Periksa hasil sebenarnya. 407 berkaitan dengan autentikasi proksi, sedangkan batas laju atau penolakan akses situs web dapat muncul setelah rute bekerja dengan benar.