Kérésenkénti proxyk a Scrapy HTTP proxy middleware-ével
Használja a Scrapy kérés-metaadatait és proxy middleware-ét, mielőtt egy régi egyéni hitelesítő middleware-t másolna a crawlerbe.
A Scrapy HTTP proxy middleware-e a kérés metaadataiból olvassa a proxyt:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Cserélje ki a dokumentáció végpontját, és hagyja engedélyezve a middleware-t. Az HTTP proxy lista nyilvános jelölteket kínál ehhez a kérés-URL-hez. Ez kiválasztja a kérés útvonalát; egy proxy pool külön kiválasztási logikát igényel.
A hitelesítés a kiválasztott végpontot követi
A beépített middleware kezeli a támogatott proxy-URL-en és a kapcsolódó engedélyezési fejlécen keresztül megadott hitelesítő adatokat. Escape-elje a foglalt URL-karaktereket, és kerülje az URL naplózását.
Egy külön middleware-nek a végpont megváltozása után nem szabad megtartania a Basic fejlécet az előző proxyhoz. Hagyja, hogy egy réteg kezelje együtt az útvonalat és annak hitelesítő adatait.
Kiválasztási sorrend és alapértékek
Ha egy egyéni letöltő middleware választja ki a proxyt, futtassa azt, mielőtt a beépített proxy middleware feldolgozná a kérést. Ellenőrizze a telepített kiadás sorrendjét és API-ját; az elavult scrapy.contrib importok régebbi kiadásokhoz tartoznak.
A folyamat környezete sémaspecifikus alapértékeket is biztosíthat. A szándékosan közvetlen kéréshez használja a proxy metaadatok dokumentált speciális viselkedését: egy hiányzó kulcs nem feltétlenül jelent közvetlen hozzáférést.
Vizsgálja meg a tényleges eredményt. A 407 a proxy hitelesítésére vonatkozik, míg egy webhely sebességkorlátja vagy hozzáférés-megtagadása az útvonal helyes működése után érkezhet.