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.

Əlaqəli məqalələr