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

Għal Scrapy 2.13.3, ibdel id-dħul standard ta' ImagesPipeline f'ITEM_PIPELINES bil-mogħdija tal-import ta' din is-sottoklassi. Żomm IMAGES_STORE u settings oħra.

Is-sejħa tal-ġenitur tippreserva l-qasam tal-URL tal-immaġni u l-callbacks konfigurati tiegħu. Is-sottoklassi żżid biss ir-rotta tat-talba, li jikkonsma HttpProxyMiddleware attivat. Kull URL tal-immaġni tibqa' d-destinazzjoni tagħha. Talbiet ġodda għal immaġni pubbliċi mingħajr kredenzjali tal-proxy jistgħu jużaw dħul mil-lista tal-proxy HTTP meta dik ir-rotta tkun permessa.

It-talbiet tal-paġna jżommu l-politika tagħhom. B'ambjent tal-proxy globali, meta={'proxy': None} jagħmel talba tal-paġna magħżula diretta f'din il-verżjoni.

Ivverifika li t-tniżżil fil-fatt inħareġ. Cache hit tal-pipeline jista' jevita talba tan-netwerk. Għal trasferimenti ġodda, qabbel id-dħul tar-riżultat tal-immaġni kompluta mal-URLs mitluba: operazzjonijiet ta' suċċess jidhru hemmhekk, filwaqt li l-fallimenti jistgħu jħallu l-qasam tal-URL tal-immaġni oriġinali mimli. Segwi r-riżultati neqsin permezz tal-logs tat-tniżżil u l-proxy magħżul.

Artikli relatati