Per defecte, Scrapy assigna els slots de descàrrega a partir del domini de l'URL de la sol·licitud. Donar un proxy HTTP a una sol·licitud no converteix aquest URL en el nom d'amfitrió del proxy. Per tant, les sol·licituds a llocs diferents poden conservar slots diferents mentre comparteixen un sol intermediari.

AutoThrottle ajusta el retard de cada slot utilitzant la latència de descàrrega observada. El límit estàndard de concurrència per domini i el retard mínim de descàrrega encara s'apliquen.

Comproveu l'agrupació abans de canviar l'algorisme

Un middleware personalitzat pot assignar request.meta["download_slot"], substituint la selecció normal de slot. Algunes extensions de proxy utilitzen la seva pròpia agrupació. Reviseu aquests paràmetres si llocs no relacionats semblen compartir un mateix limitador.

Al contrari, assignar un slot diferent per a cada proxy pot permetre que diversos proxys contactin el mateix objectiu alhora. Això pot vulnerar un límit de tot el lloc que el rastrejador havia de respectar. Trieu la clau del slot segons el recurs que es protegeix.

El retard inclou el camí que heu utilitzat

Scrapy mesura la latència des de l'enviament de la sol·licitud fins a la recepció de les capçaleres HTTP. Una sol·licitud transportada per un proxy pot incloure en aquesta observació el retard de cua i reenviament de l'intermediari. AutoThrottle no obté un temps de processament separat només de l'origen.

Augmentar la concurrència no pot fer que aquesta mesura aïlli el lloc web. Manteniu la cortesia amb l'objectiu i la capacitat del proxy com a límits separats quan tots dos importen. Un proxy compartit pot necessitar un pressupost de concurrència addicional entre els slots dels objectius, mentre que cada objectiu conserva la seva pròpia política de ritme.

Articles relacionats