Žurnale proxy adresas keičiasi. Tikslas niekada neatsiranda proxy prieigos žurnale. Patikrinkite, ar jūsų tarpinė programinė įranga apskritai praleidžia užklausą iki atsisiuntėjo.

Scrapy atsisiuntėjo tarpinėje programinėje įrangoje Request grąžinimas reiškia tos užklausos iš naujo suplanavimą. Tai nereiškia „tęskite šio objekto siuntimą su metaduomenimis, kuriuos ką tik pakeičiau“.

Selektoriui, kuris tik pasirenka maršrutą, svarbi forma yra:

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

Šis fragmentas rodo dabartinę kablio formą; naudokite tarpinės programinės įrangos sąsają, kurią palaiko įdiegtas Scrapy leidimas. Selektorius turi grąžinti galiojantį galinį tašką ir aiškiai apdoroti nepasiekiamą telkinį. Viešas nuskaitymas, leidžiantis viešus tarpininkus, gali imti HTTP kandidatus iš HTTP proxy sąrašo tai grąžinamai reikšmei.

Grąžinus None, likusi užklausos tarpinė programinė įranga ir atsisiuntėjas gali tęsti. Kito Request grąžinimas naudingas, kai sąmoningai pakeičiate arba kartojate darbą, tačiau tam reikia priežasties ir išėjimo sąlygos.

Rotatorius, kiekvieną kartą grąžinantis tą pačią užklausą, gali pakartotinai vykdyti savo atrankos kodą taip ir nesudarydamas ryšio su tikslu. Laiko limitų didinimas ar papildomų proxy prievadų atidarymas negali pataisyti to valdymo srauto ciklo.

Tyrinėkite įėjimą į tarpinę programinę įrangą, grąžinimo elgseną ir pirmą tikrą tinklo bandymą kaip atskirus įvykius. Žurnalo eilutė „pasirinktas proxy“ įrodo tik tai, kad selektorius veikė. Ji neįrodo, kad buvo išsiųsta užklausa su pasirinktu galiniu tašku.

Susiję straipsniai