Waħħal il-proxy mat-talbiet tal-immaġni ta' Scrapy
Dekora r-Requests li joħloq ImagesPipeline biex it-tniżżil tal-immaġni jirċievi proxy mingħajr ma terġa' tinbena l-loġika tat-talbiet tal-pipeline.
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.