Som standard tilldelar Scrapy nedladdningsslots utifrån domänen i begärans URL. Att ge en begäran en HTTP-proxy ändrar inte den URL:en till proxyns värdnamn. Begäranden till olika webbplatser kan därför behålla olika slots medan de delar en mellanhand.

AutoThrottle justerar fördröjningen för varje slot utifrån den observerade nedladdningslatensen. Standardgränsen för samtidighet per domän och den minsta nedladdningsfördröjningen gäller fortfarande.

Kontrollera grupperingen innan du ändrar algoritmen

En anpassad middleware kan tilldela request.meta["download_slot"] och därmed åsidosätta det vanliga slotvalet. Vissa proxy-tillägg använder sin egen gruppering. Granska de inställningarna om orelaterade webbplatser verkar dela en enda begränsare.

Omvänt kan ett annat slot per proxy låta flera proxys kontakta samma mål samtidigt. Det kan undergräva en gräns för hela webbplatsen som crawler skulle respektera. Välj slotnyckeln efter resursen som skyddas.

Fördröjningen omfattar vägen du använde

Scrapy mäter latens från att begäran skickas till att HTTP-huvuden tas emot. En begäran som går via en proxy kan inkludera mellanhandens kö- och vidarebefordringsfördröjning i den mätningen. AutoThrottle får ingen separat bearbetningstid enbart för ursprunget.

Ökad samtidighet kan inte få mätningen att isolera webbplatsen. Håll hänsyn till målet och proxyns kapacitet som separata gränser när båda spelar roll. En delad proxy kan behöva en extra samtidighetsbudget över målslots, medan varje mål behåller sin egen hastighetspolicy.

Relaterade artiklar