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

Ku-Scrapy 2.13.3, shintsha ingeno ejwayelekile ye-ImagesPipeline ku-ITEM_PIPELINES ngendlela yokungenisa yale klasi encane. Gcina IMAGES_STORE nezinye izilungiselelo.

Ukushayela umzali kugcina inkambu ye-URL yesithombe kanye nama-callback alungiselelwe. Iklasi encane yengeza kuphela umzila wesicelo, osebenza nge-HttpProxyMiddleware enikwe amandla. Yonke i-URL yesithombe ihlala iyindawo yayo. Izicelo ezintsha zezithombe zomphakathi ezingenazo izifakazelo ze-proxy zingasebenzisa ingeno evela kuhlu lwe-proxy ye-HTTP lapho lowo mzila uvunyelwe.

Izicelo zamakhasi zigcina inqubomgomo yazo. Ngendawo ye-proxy yomhlaba wonke, meta={'proxy': None} yenza isicelo sekhasi esikhethiwe sibe nqo kule ndatshana.

Hlola ukuthi ukulanda kukhishwe ngempela. Ukushaywa kwe-cache ye-pipeline kungagwema isicelo senethiwekhi. Kokudluliswa okusha, qhathanisa amangeno emiphumela yezithombe eziqediwe nama-URL aceliwe: imisebenzi ephumelelayo ivela lapho, kuyilapho ukwehluleka kungashiya inkambu ye-URL yesithombe yokuqala igcwele. Landelela imiphumo engekho ngamalogi omlandi kanye ne-proxy ekhethiwe.

Izihloko ezihlobene