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.

Kapcsolódó cikkek