De Proxy un d'Bild-Ufroen vu Scrapy hänken
Dekoréier d'Requests, déi ImagesPipeline erstellt, sou datt Bilddownloaden e Proxy kréien, ouni d'Ufroelogik vun der Pipeline nei ze bauen.
from scrapy.pipelines.images import ImagesPipeline
class ProxiedImagesPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for request in super().get_media_requests(item, info):
request.meta['proxy'] = 'http://proxy.example:8080'
yield request
Fir Scrapy 2.13.3 ersetzt den Standard-ImagesPipeline-Agang an ITEM_PIPELINES duerch den Importwee vun dëser Ënnerklass. Behäl IMAGES_STORE an aner Astellungen.
Den Elterenteil opzeruffen erhält säi konfiguréierte Bild-URL-Feld an d'Callbacks. D'Ënnerklass ergänzt just de Ufroewee, deen déi aktivéiert HttpProxyMiddleware verbraucht. All Bild-URL bleift säin Zil. Nei ëffentlech Bild-Ufroen ouni Proxy-Accreditioune kënnen en Agang aus der HTTP-Proxy-Lëscht benotzen, wa just dee Wee erlaabt ass.
Säitenufroe behalen hir eege Politik. Mat enger globaler Proxy-Ëmwelt mécht meta={'proxy': None} eng ausgewielt Säitenufro an dëser Versioun direkt.
Kuckt no, ob en Download tatsächlech erausgaang ass. E Pipeline-Cachetreffer kann eng Netzwierkufro vermeiden. Fir nei Transfere vergläicht Dir d'Resultat-Agäng vun ofgeschlossene Biller mat den ugefrote URLen: erfollegräich Operatiounen erschéngen do, während Feeler d'ursprénglecht Bild-URL-Feld gefëllt loosse kënnen. Verfollegt fehlend Resultater iwwer d'Loge vum Downloader an de gewielten Proxy.