Па змаўчанні Scrapy прызначае слоты загрузкі па дамене URL запыту. Наданне запыту HTTP-проксі не ператварае гэты URL у імя хоста проксі. Таму запыты да розных сайтаў могуць захоўваць розныя слоты, дзелячы адзін пасярэднік.

AutoThrottle карэктуе затрымку кожнага слота па назіранай затрымцы загрузкі. Стандартнае абмежаванне паралельнасці на дамен і мінімальная затрымка загрузкі па-ранейшаму дзейнічаюць.

Праверце групаванне, перш чым змяняць алгарытм

Уласнае прамежкавае ПЗ можа прызначыць request.meta["download_slot"], перакрываючы звычайны выбар слота. Некаторыя пашырэнні проксі выкарыстоўваюць уласнае групаванне. Праверце гэтыя налады, калі незвязаныя сайты выглядаюць так, быццам дзеляць адзін абмежавальнік.

Наадварот, прызначэнне асобнага слота для кожнага проксі можа дазволіць некалькім проксі адначасова звяртацца да адной мэты. Гэта можа парушыць агульнасайтавае абмежаванне, якое павінен быў паважаць краўлер. Выбірайце ключ слота ў адпаведнасці з рэсурсам, які абараняецца.

Затрымка ўключае шлях, які вы выкарысталі

Scrapy вымярае затрымку ад адпраўкі запыту да атрымання HTTP-загалоўкаў. Запыт, які ідзе праз проксі, можа ўключаць у гэта назіранне затрымку чаргі і перасылкі пасярэдніка. AutoThrottle не атрымлівае асобнага часу апрацоўкі толькі крыніцы.

Павелічэнне паралельнасці не можа прымусіць гэтае вымярэнне ізаляваць сайт. Трымайце ветлівасць да мэты і прапускную здольнасць проксі асобнымі абмежаваннямі, калі важныя абодва. Агульны проксі можа патрабаваць дадатковага бюджэту паралельнасці па слотах мэты, а кожная мэта захоўвае ўласную палітыку хуткасці.

Падобныя артыкулы