Scrapy AutoThrottle melalui proxy: slot dan latensi
Pisahkan slot unduhan situs target dari rute proxy dan tafsirkan latensi sebagai jalur permintaan yang teramati.
Secara bawaan, Scrapy menetapkan slot unduhan berdasarkan domain URL permintaan. Memberi permintaan sebuah proxy HTTP tidak mengubah URL itu menjadi nama host proxy. Karena itu, permintaan ke situs berbeda dapat mempertahankan slot berbeda sambil berbagi satu perantara.
AutoThrottle menyesuaikan jeda tiap slot menggunakan latensi unduhan yang teramati. Batas konkurensi per domain standar dan jeda unduhan minimum tetap berlaku.
Periksa pengelompokan sebelum mengubah algoritme
Middleware khusus dapat menetapkan request.meta["download_slot"], menimpa pemilihan slot normal. Beberapa ekstensi proxy memakai pengelompokannya sendiri. Periksa setelan itu jika situs yang tidak berhubungan tampak berbagi satu pembatas.
Sebaliknya, menetapkan slot berbeda untuk tiap proxy dapat membuat beberapa proxy menghubungi target yang sama secara bersamaan. Itu dapat mengalahkan batas seluruh situs yang seharusnya dipatuhi crawler. Pilih kunci slot sesuai sumber daya yang dilindungi.
Jeda mencakup jalur yang Anda gunakan
Scrapy mengukur latensi dari pengiriman permintaan hingga penerimaan header HTTP. Permintaan yang dibawa melalui proxy dapat memasukkan jeda antrean dan penerusan perantara ke dalam pengamatan itu. AutoThrottle tidak memperoleh waktu pemrosesan terpisah khusus asal.
Menaikkan konkurensi tidak dapat membuat pengukuran itu mengisolasi situs. Pertahankan kesopanan terhadap target dan kapasitas proxy sebagai batas terpisah ketika keduanya penting. Proxy bersama mungkin memerlukan anggaran konkurensi tambahan di seluruh slot target, sementara tiap target tetap memakai kebijakan laju sendiri.