Ako svaka destinacija koristi jedan proksijski račun, dozvola za istovremene zahtjeve tog računa može se potrošiti na sve te destinacije. Ograničenje samo po domenu ne izražava taj zajednički budžet.

Za hipotetički račun koji dozvoljava najviše 20 istovremenih zahtjeva, ostavite malo prostora i postavite globalno ograničenje preuzimača crawlara:

CONCURRENT_REQUESTS = 16

Ovo je ilustrativna raspodjela, a ne preporučena vrijednost za svakog provajdera. Scrapy definira CONCURRENT_REQUESTS kao najveći broj istovremenih zahtjeva preuzimača. Kontrole po domenu mogu dodatno smanjiti paralelnost; ne zamjenjuju globalni plafon.

Uključite i druge crawlere u računicu. Dva nezavisna crawlara, svaki sa dozvoljenih 16 zahtjeva, zajedno mogu premašiti zajedničku dozvolu od 20. Namjerno podijelite budžet ili uspostavite zajedničko ograničenje tamo gdje se ti klijenti spajaju.

Također utvrdite šta provajder broji. HTTP zahtjevi, otvorene TCP veze, aktivni tuneli i zahtjevi u sekundi različite su veličine. Trajne veze i multipleksiranje mogu razdvojiti njihove brojeve. Postavka paralelnosti zahtjeva zato nije potpuni ograničivač veza ni brzine.

Držite tempo ciljnog sajta kao zasebno ograničenje. Manja paralelnost ili kašnjenje preuzimanja može i dalje biti prikladno za pojedinačnu destinaciju čak i kada proksijski račun ima neiskorišten kapacitet.

Povezani članci