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.

Ähnlech Artikelen