Lotu proxy-a Scrapyren irudi-eskaerei
Apaindu ImagesPipeline-k sortzen dituen Requests-ak, irudi-deskargek proxy bat jaso dezaten pipeline-aren eskaera-logika berreraiki gabe.
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-rako, ordeztu ITEM_PIPELINES-eko ImagesPipeline sarrera estandarra azpiklase honen inportazio-bidearekin. Mantendu IMAGES_STORE eta beste ezarpenak.
Gurasoa deitzeak haren irudi-URL eremua eta callback-ak gordetzen ditu. Azpiklaseak eskaera-bidea soilik gehitzen du, eta HttpProxyMiddleware gaituta dagoena hori kontsumitzen du. Irudi-URL bakoitza bere helmuga izaten jarraitzen du. Proxy-kredentzialik gabeko irudi publikoen eskaera berriek HTTP proxy zerrendako sarrera bat erabil dezakete bidea onartzen denean.
Orrialde-eskaerek beren politika mantentzen dute. Proxy-ingurune globalarekin, meta={'proxy': None}-k hautatutako orrialde-eskaera zuzena egiten du bertsio honetan.
Egiaztatu deskarga benetan jaulki dela. Pipeline-aren cache-jo batek sare-eskaera saihestu dezake. Transferentzia berrietarako, alderatu amaitutako irudiaren emaitza-sarrerak eskatutako URL-ekin: eragiketa arrakastatsuak han agertzen dira, eta hutsegiteek jatorrizko irudi-URL eremua beteta utz dezakete. Jarraitu falta diren emaitzak deskargatzailearen erregistroen eta hautatutako proxy-aren bidez.