Alapértelmezés szerint a Scrapy a kérés URL-jének domainje alapján osztja ki a letöltési slotokat. Ha egy kérésnek HTTP-proxyt adunk, az nem változtatja meg azt az URL-t a proxy hosztnevére. A különböző webhelyekre irányuló kérések ezért különböző slotokat tarthatnak meg, miközben egy közvetítőt osztanak meg.

Az AutoThrottle a megfigyelt letöltési késleltetés alapján állítja be az egyes slotok késleltetését. A szokásos domainenkénti párhuzamossági korlát és a minimális letöltési késleltetés továbbra is érvényes.

A csoportosítást az algoritmus módosítása előtt ellenőrizze

Egy egyéni middleware hozzárendelheti a request.meta["download_slot"] értéket, felülírva a szokásos slotkiválasztást. Egyes proxy-kiterjesztések saját csoportosítást használnak. Vizsgálja meg ezeket a beállításokat, ha úgy tűnik, hogy független webhelyek egyetlen korlátozót osztanak meg.

Fordítva, ha minden proxyhoz más slotot rendelünk, több proxy egyszerre érheti el ugyanazt a célt. Ez alááshat egy webhelyszintű korlátot, amelyet a crawlernek tiszteletben kellett tartania. A slot kulcsát a védett erőforrás szerint válassza meg.

A késleltetés magában foglalja a használt útvonalat

A Scrapy a késleltetést a kérés elküldésétől a HTTP-fejlécek fogadásáig méri. Egy proxyn keresztül továbbított kérés magában foglalhatja ebben a megfigyelésben a közvetítő sorban állási és továbbítási késleltetését. Az AutoThrottle nem kap külön, csak az eredetre vonatkozó feldolgozási időt.

A párhuzamosság növelése nem teheti ezt a mérést a webhelyet izoláló méréssé. Tartsa külön a cél iránti udvariasságot és a proxy kapacitását, amikor mindkettő számít. Egy megosztott proxynak szüksége lehet további párhuzamossági keretre a célslotok között, miközben minden cél megtartja saját sebességpolitikáját.

Kapcsolódó cikkek