Scrapy-proxy-samtidighet över flera domäner
Använd nedladdarens globala samtidighetsgräns när flera måldomäner förbrukar samma proxykvot, och räkna sedan med andra crawlers som delar det kontot.
Om varje destination använder ett enda proxykonto kan kontots tillåtelse för samtidiga förfrågningar förbrukas över alla dessa destinationer. En gräns per domän ensam uttrycker inte den delade budgeten.
För ett hypotetiskt konto som tillåter högst 20 samtidiga förfrågningar, håll lite utrymme fritt och sätt crawlerens globala nedladdargräns:
CONCURRENT_REQUESTS = 16
Detta är en illustrativ fördelning, inte ett rekommenderat värde för varje leverantör. Scrapy definierar CONCURRENT_REQUESTS som nedladdarens högsta antal samtidiga förfrågningar. Styrning per domän kan sänka samtidigheten ytterligare; den ersätter inte det globala taket.
Räkna med andra crawlers. Två oberoende crawlers med 16 förfrågningar var kan tillsammans överskrida en delad tillåtelse på 20. Fördela budgeten medvetet eller tillämpa en gemensam gräns där dessa klienter möts.
Fastställ också vad leverantören räknar. HTTP-förfrågningar, öppna TCP-anslutningar, aktiva tunnlar och förfrågningar per sekund är olika storheter. Beständiga anslutningar och multiplexning kan göra att deras antal skiljer sig. En inställning för förfrågningssamtidighet är därför inte en fullständig anslutnings- eller hastighetsbegränsare.
Behåll tempot för målwebbplatsen som en separat begränsning. Lägre samtidighet eller en nedladdningsfördröjning kan fortfarande vara lämpligt för en enskild destination även när proxykontot har outnyttjad kapacitet.