HTTP proxy middleware Scrapy číta proxy z metadát požiadavky:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Nahraďte koncový bod z dokumentácie a middleware nechajte zapnutý. Zoznam HTTP proxy ponúka verejných kandidátov pre URL tejto požiadavky. Tým sa volí trasa požiadavky; fondu proxy treba samostatnú logiku výberu.

Autentifikácia nasleduje zvolený koncový bod

Vstavaný middleware spracúva prihlasovacie údaje poskytnuté cez podporovanú URL proxy a súvisiacu autorizačnú hlavičku. Escapujte rezervované znaky URL a vyhnite sa logovaniu tej URL.

Samostatný middleware by po zmene koncového bodu nemal zachovávať hlavičku Basic pre predchádzajúcu proxy. Nechajte jednu vrstvu spravovať trasu aj jej prihlasovacie údaje spoločne.

Poradie výberu a predvolené hodnoty

Ak proxy vyberá vlastný downloader middleware, spustite ho predtým, než vstavaný proxy middleware požiadavku spracuje. Skontrolujte poradie a API nainštalovanej verzie; zastarané importy scrapy.contrib patria starším verziám.

Prostredie procesu môže tiež poskytovať predvolené hodnoty špecifické pre schému. Pre zámerne priamu požiadavku použite dokumentované špeciálne správanie metadát proxy: chýbajúci kľúč nemusí znamenať priamy prístup.

Skontrolujte skutočný výsledok. 407 sa týka autentifikácie proxy, zatiaľ čo limit rýchlosti alebo odmietnutie prístupu zo strany webu môže prísť po tom, ako trasa fungovala správne.

Súvisiace články