Proksidən Scrapy AutoThrottle: slotlar və gecikmə
Hədəf saytın yükləmə slotlarını proksi marşrutlarından ayrı saxlayın və gecikməni müşahidə olunan sorğu yolu kimi şərh edin.
Standart olaraq Scrapy yükləmə slotlarını sorğu URL-nin domeninə əsasən təyin edir. Sorğuya HTTP proksisi vermək o URL-ni proksinin host adına çevirmir. Buna görə müxtəlif saytlara edilən sorğular bir vasitəçini paylaşaraq fərqli slotları saxlaya bilər.
AutoThrottle hər slotun gecikməsini müşahidə olunan yükləmə gecikməsinə əsasən tənzimləyir. Standart domen üzrə paralellik limiti və minimum yükləmə gecikməsi hələ də qüvvədədir.
Alqoritmi dəyişməzdən əvvəl qruplaşdırmanı yoxlayın
Fərdi middleware request.meta["download_slot"] təyin edərək normal slot seçimini üstələyə bilər. Bəzi proksi uzantıları öz qruplaşdırmalarından istifadə edir. Əlaqəsiz saytlar bir məhdudlaşdırıcını paylaşırsa, o parametrləri yoxlayın.
Əksinə, hər proksi üçün fərqli slot təyin etmək bir neçə proksinin eyni hədəfə eyni vaxtda müraciət etməsinə imkan verə bilər. Bu, crawlerin riayət etməli olduğu sayt üzrə limiti poza bilər. Slot açarını qorunan resursa uyğun seçin.
Gecikmə istifadə etdiyiniz yolu əhatə edir
Scrapy gecikməni sorğunun göndərilməsindən HTTP başlıqlarının alınmasına qədər ölçür. Proksidən keçən sorğuda vasitəçinin növbə və yönləndirmə gecikməsi bu müşahidəyə daxil ola bilər. AutoThrottle ayrıca yalnız mənbəyə aid emal vaxtı almır.
Paralelliyi artırmaq bu ölçmənin saytı təcrid etməsinə səbəb ola bilməz. Hədəf nəzakətini və proksi tutumunu hər ikisi vacib olduqda ayrı limitlər kimi saxlayın. Paylaşılan proksi hədəf slotları üzrə əlavə paralellik büdcəsinə ehtiyac duya bilər, hər hədəf isə öz sürət siyasətini saxlayır.