Proksy na żądanie z oprogramowaniem pośredniczącym proxy HTTP Scrapy
Użyj metadanych żądań Scrapy i jego oprogramowania pośredniczącego proxy, zanim skopiujesz stare niestandardowe oprogramowanie pośredniczące uwierzytelniania do indeksera.
Oprogramowanie pośredniczące proxy HTTP Scrapy odczytuje proxy z metadanych żądania:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
Zastąp punkt końcowy z dokumentacji i pozostaw oprogramowanie pośredniczące włączone. Lista proksy HTTP oferuje publiczne kandydatury dla adresu URL tego żądania. To wybiera trasę żądania; pula proksy wymaga osobnej logiki wyboru.
Uwierzytelnianie podąża za wybranym punktem końcowym
Wbudowane oprogramowanie pośredniczące obsługuje dane uwierzytelniające dostarczane przez obsługiwany adres URL proksy i powiązany nagłówek autoryzacji. Escapuj zarezerwowane znaki URL i unikaj rejestrowania tego adresu.
Osobne oprogramowanie pośredniczące nie powinno zachowywać nagłówka Basic dla poprzedniego proksy po zmianie punktu końcowego. Niech jedna warstwa zarządza trasą i jej danymi uwierzytelniającymi razem.
Kolejność wyboru i wartości domyślne
Jeśli niestandardowe oprogramowanie pośredniczące pobierania wybiera proksy, uruchom je, zanim wbudowane oprogramowanie pośredniczące proxy przetworzy żądanie. Sprawdź kolejność i API zainstalowanej wersji; przestarzałe importy scrapy.contrib należą do starszych wersji.
Środowisko procesu może także dostarczać wartości domyślne specyficzne dla schematu. W przypadku celowo bezpośredniego żądania użyj udokumentowanego specjalnego zachowania metadanych proxy: brakujący klucz niekoniecznie oznacza bezpośredni dostęp.
Sprawdź rzeczywisty wynik. 407 dotyczy uwierzytelniania proksy, natomiast limit szybkości lub odmowa dostępu witryny mogą pojawić się po tym, jak trasa zadziałała poprawnie.