A proxy címe megváltozik a naplóban. A cél soha nem jelenik meg a proxy hozzáférési naplójában. Ellenőrizze, hogy a köztes szoftver egyáltalán elengedi-e a kérést a letöltőig.

A Scrapy letöltő köztes szoftverében a Request visszaadása azt jelenti, hogy a kérés újraütemeződik. Ez nem azt jelenti, hogy „folytassa ennek az objektumnak a küldését azzal a metaadattal, amelyet épp most módosítottam“.

Egy csak útvonalat választó szelektor esetében a fontos forma ez:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

Ez a töredék az aktuális hook-formát mutatja; használja a telepített Scrapy-kiadás által támogatott köztes szoftver felületet. A szelektornak érvényes végpontot kell visszaadnia, és kifejezetten kezelnie kell egy elérhetetlen készletet. Egy nyilvános feltérképezés, amely nyilvános közvetítőket engedélyez, HTTP-jelölteket vehet a HTTP proxy listáról ehhez a visszatérési értékhez.

A None visszaadása engedi, hogy a többi kérés-köztes szoftver és a letöltő folytassa. Egy másik Request visszaadása akkor hasznos, ha szándékosan lecseréli vagy újrapróbálja a munkát, de okra és kilépési feltételre van szüksége.

Egy rotátor, amely minden alkalommal ugyanazt a kérést adja vissza, ismételten futtathatja a saját kiválasztó kódját anélkül, hogy valaha kapcsolatot létesítene a céllal. Az időkorlátok növelése vagy több proxyport megnyitása nem javíthatja meg azt a vezérlési folyamat hurkot.

Vizsgálja a köztes szoftverbe való belépést, a visszatérési viselkedést és az első tényleges hálózati kísérletet külön eseményekként. Egy „proxy kiválasztva“ naplósor csak azt bizonyítja, hogy a szelektor lefutott. Nem bizonyítja, hogy a kiválasztott végponttal rendelkező kérés elküldésre került.

Kapcsolódó cikkek