Scrapy AutoThrottle-ը պրոքսիի միջով՝ սլոթներ և ուշացում
Թիրախային կայքի ներբեռնման սլոթները պահեք պրոքսիի երթուղիներից առանձին և ուշացումը մեկնաբանեք որպես դիտարկված հարցումի ուղի։
Լռելյայն Scrapy-ն ներբեռնման սլոթները նշանակում է հարցումի URL-ի դոմենով։ Հարցումին HTTP պրոքսի տալը այդ URL-ը չի վերածում պրոքսիի հոսթի անվան։ Այսպիսով՝ տարբեր կայքերի հարցումները կարող են պահել տարբեր սլոթներ՝ կիսելով մեկ միջնորդ։
AutoThrottle-ը կարգավորում է յուրաքանչյուր սլոթի ուշացումը՝ հիմնվելով դիտարկված ներբեռնման ուշացման վրա։ Ստանդարտ դոմենային զուգահեռության սահմանը և ներբեռնման նվազագույն ուշացումը դեռ գործում են։
Նախքան ալգորիթմը փոխելը ստուգեք խմբավորումը
Անհատական middleware-ը կարող է նշանակել request.meta["download_slot"]՝ վերացնելով սովորական սլոթի ընտրությունը։ Որոշ պրոքսի ընդլայնումներ օգտագործում են իրենց խմբավորումը։ Ստուգեք այդ կարգավորումները, եթե անկապ կայքերը կարծես կիսում են մեկ սահմանափակիչ։
Ընդհակառակը՝ յուրաքանչյուր պրոքսիի համար տարբեր սլոթ նշանակելը կարող է թույլ տալ մի քանի պրոքսիների միաժամանակ դիմել նույն թիրախին։ Դա կարող է խախտել կայքի մակարդակով սահմանը, որը crawler-ը պետք է հարգեր։ Սլոթի բանալին ընտրեք ըստ պաշտպանվող ռեսուրսի։
Ուշացումը ներառում է ձեր օգտագործած ուղին
Scrapy-ն ուշացումը չափում է հարցումն ուղարկելուց մինչև HTTP վերնագրերի ստացումը։ Պրոքսիի միջով անցնող հարցումը կարող է այդ դիտարկման մեջ ներառել միջնորդի հերթի և փոխանցման ուշացումը։ AutoThrottle-ը չի ստանում առանձին՝ միայն սկզբնաղբյուրին վերաբերող մշակման ժամանակ։
Զուգահեռության ավելացումը չի կարող ստիպել այդ չափմանը մեկուսացնել կայքը։ Թիրախի նկատմամբ քաղաքավարությունը և պրոքսիի հզորությունը պահեք որպես առանձին սահմաններ, երբ երկուսն էլ կարևոր են։ Համօգտագործվող պրոքսին կարող է պահանջել լրացուցիչ զուգահեռության բյուջե թիրախ սլոթների միջև, մինչդեռ յուրաքանչյուր թիրախ պահպանում է իր արագության քաղաքականությունը։