Domyślnie Scrapy przydziela sloty pobierania na podstawie domeny URL żądania. Przypisanie żądaniu proxy HTTP nie zmienia tego URL w nazwę hosta proxy. Dlatego żądania do różnych witryn mogą zachować różne sloty, dzieląc jednego pośrednika.

AutoThrottle dostosowuje opóźnienie każdego slota na podstawie zaobserwowanego opóźnienia pobierania. Standardowy limit współbieżności na domenę i minimalne opóźnienie pobierania nadal obowiązują.

Sprawdź grupowanie, zanim zmienisz algorytm

Niestandardowy middleware może przypisać request.meta["download_slot"], nadpisując normalny wybór slota. Niektóre rozszerzenia proxy używają własnego grupowania. Sprawdź te ustawienia, jeśli niepowiązane witryny wydają się dzielić jeden limiter.

Odwrotnie, przypisanie innego slota dla każdego proxy może pozwolić wielu proxy jednocześnie kontaktować się z tym samym celem. Może to osłabić limit obejmujący całą witrynę, którego crawler miał przestrzegać. Wybierz klucz slota zgodnie z chronionym zasobem.

Opóźnienie obejmuje ścieżkę, której użyto

Scrapy mierzy opóźnienie od wysłania żądania do odebrania nagłówków HTTP. Żądanie przenoszone przez proxy może w tym pomiarze zawierać opóźnienie kolejkowania i przekazywania pośrednika. AutoThrottle nie otrzymuje odrębnego czasu przetwarzania samego źródła.

Zwiększenie współbieżności nie sprawi, że pomiar będzie izolował witrynę. Utrzymuj uprzejmość wobec celu i przepustowość proxy jako osobne limity, gdy oba mają znaczenie. Współdzielone proxy może potrzebować dodatkowego budżetu współbieżności między slotami celów, a każdy cel zachowuje własną politykę tempa.

Powiązane artykuły