Scrapy యొక్క చిత్ర అభ్యర్థనలకు ప్రాక్సీని జోడించండి
ImagesPipeline సృష్టించే Requestsను అలంకరించండి, తద్వారా పైప్లైన్ యొక్క అభ్యర్థన తర్కాన్ని తిరిగి నిర్మించకుండా చిత్ర డౌన్లోడ్లకు ప్రాక్సీ లభిస్తుంది.
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
Scrapy 2.13.3 కోసం, ITEM_PIPELINES లోని ప్రామాణిక ImagesPipeline నమోదును ఈ ఉపతరగతి యొక్క import మార్గంతో భర్తీ చేయండి. IMAGES_STORE మరియు ఇతర సెట్టింగ్లను ఉంచండి.
మాతృతరగతిని పిలవడం దాని కాన్ఫిగర్ చేసిన చిత్ర-URL ఫీల్డ్ మరియు కాల్బ్యాక్లను సంరక్షిస్తుంది. ఉపతరగతి అభ్యర్థన మార్గాన్ని మాత్రమే జోడిస్తుంది, దాన్ని ప్రారంభించిన HttpProxyMiddleware వినియోగిస్తుంది. ప్రతి చిత్ర URL దాని గమ్యస్థానంగానే ఉంటుంది. ప్రాక్సీ ఆధారాల్లేని కొత్త పబ్లిక్-చిత్ర అభ్యర్థనలు, ఆ మార్గం అనుమతించబడినప్పుడు HTTP ప్రాక్సీ జాబితా నుండి ఒక నమోదును ఉపయోగించవచ్చు.
పేజీ అభ్యర్థనలు తమ స్వంత విధానాన్ని ఉంచుకుంటాయి. ప్రపంచ ప్రాక్సీ వాతావరణంతో, ఈ విడుదలలో meta={'proxy': None} ఎంచుకున్న పేజీ అభ్యర్థనను నేరుగా చేస్తుంది.
డౌన్లోడ్ నిజంగా జారీ అయిందో లేదో తనిఖీ చేయండి. పైప్లైన్ క్యాష్ హిట్ నెట్వర్క్ అభ్యర్థనను నివారించవచ్చు. కొత్త బదిలీల కోసం, పూర్తయిన చిత్రం ఫలిత నమోదులను అభ్యర్థించిన URLలతో పోల్చండి: విజయవంతమైన కార్యకలాపాలు అక్కడ కనిపిస్తాయి, వైఫల్యాలు అసలు చిత్ర-URL ఫీల్డ్ నిండి ఉండేలా వదిలేయవచ్చు. మిస్ అయిన ఫలితాలను డౌన్లోడర్ లాగ్లు మరియు ఎంచుకున్న ప్రాక్సీ ద్వారా గుర్తించండి.