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} په دې خپرونه کې ټاکل شوې پاڼې غوښتنه مستقیمه کوي.

وګورئ چې ډاونلوډ واقعاً صادر شوی. د pipeline د کاش وهل کولای شي د شبکې غوښتنې مخه ونیسي. د نویو لېږدونو لپاره، د بشپړ شوي انځور د پایلو ننوتنې د غوښتل شویو URL سره پرتله کړئ: بریالۍ عملیات هلته ښکاري، پداسې حال کې چې ناکامي کولای شي اصلي انځور-URL ساحه ډکه پریږدي. ورک شوې پایلې د ډاونلوډر لاګونو او ټاکل شوي پروکسي له لارې تعقیب کړئ.

اړوندې مقالې