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

Kwa Scrapy 2.13.3, badilisha ingizo la kawaida la ImagesPipeline katika ITEM_PIPELINES kwa njia ya uagizaji ya darasa hili dogo. Hifadhi IMAGES_STORE na mipangilio mingine.

Kuita mzazi huhifadhi uwanja wa URL ya picha na miito ya kurudi iliyowekwa. Darasa dogo linaongeza njia ya ombi pekee, ambayo HttpProxyMiddleware iliyowashwa hutumia. Kila URL ya picha hubaki kuwa lengo lake. Maombi mapya ya picha za umma yasiyo na vitambulisho vya proksi yanaweza kutumia ingizo kutoka orodha ya proksi za HTTP pale njia hiyo inaporuhusiwa.

Maombi ya ukurasa huweka sera zao wenyewe. Kwa mazingira ya proksi ya kimataifa, meta={'proxy': None} hufanya ombi la ukurasa lililochaguliwa kuwa la moja kwa moja katika toleo hili.

Hakikisha upakuaji umetolewa kweli. Kupiga kache ya bomba kunaweza kuepuka ombi la mtandao. Kwa uhamishaji mpya, linganisha maingizo ya matokeo ya picha zilizokamilika na URL zilizoombwa: shughuli zilizofanikiwa huonekana hapo, wakati kushindwa kunaweza kuacha uwanja wa URL ya picha asili umejazwa. Fuatilia matokeo yanayokosekana kupitia kumbukumbu za kipakuzi na proksi iliyochaguliwa.

Makala zinazohusiana