Демейде Scrapy жүктөө слотторун сурам URL'инин домени боюнча дайындайт. Сурамга HTTP прокси берүү бул URL'ди проксинин хост атына айландырбайт. Ошондуктан ар кайсы сайттарга сурамдар бир делдалды бөлүшүп, ар кайсы слотторду сактай алышат.

AutoThrottle ар бир слоттун кечигүүсүн байкалган жүктөө кечигүүсүнө таянып жөндөйт. Стандарттык домен боюнча параллелдүүлүк чеги жана эң аз жүктөө кечигүүсү дагы эле колдонулат.

Алгоритмди өзгөртүүдөн мурун топтоону текшериңиз

Ыңгайлаштырылган middleware request.meta["download_slot"] дайындап, кадимки слот тандоону алмаштыра алат. Кээ бир прокси кеңейтүүлөрү өз топтоосун колдонушат. Байланышы жок сайттар бир чектөөчүнү бөлүшүп жаткандай көрүнсө, ошол жөндөөлөрдү карап чыгыңыз.

Тескерисинче, ар бир прокси үчүн өзүнчө слот дайындоо бир нече проксинин бир убакта бирдей максатка туташуусуна жол берет. Бул сканер сыйлашы керек болгон сайт боюнча чекти бузушу мүмкүн. Слот ачкычын корголуучу ресурска жараша тандаңыз.

Кечигүү сиз колдонгон жолду камтыйт

Scrapy кечигүүнү сурам жөнөтүлгөндөн HTTP аталыштары алынганга чейин өлчөйт. Прокси аркылуу өткөн сурам бул байкоого делдалдын кезек жана жөнөтүү кечигүүсүн кошуусу мүмкүн. AutoThrottle өзүнчө гана булакка тиешелүү иштетүү убактысын албайт.

Параллелдүүлүктү көбөйтүү бул өлчөөнү сайтты обочолонтууга мажбурлай албайт. Максатка сылыктык жана проксинин сыйымдуулугу экөө тең маанилүү болгондо аларды өзүнчө чектер катары кармаңыз. Жалпы прокси максат слоттору боюнча кошумча параллелдүүлүк бюджетине муктаж болушу мүмкүн, ал эми ар бир максат өз ылдамдык саясатын сактайт.

Тектеш макалалар