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 ئۆز مەنزىلى بولۇپ قالىدۇ. proxy گۇۋاھنامىسى يوق يېڭى ئاممىۋى رەسىم تەلەپلىرى، بۇ يول رۇخسەت قىلىنغاندا HTTP proxy تىزىملىكى دىن بىر تۈرنى ئىشلىتەلەيدۇ.

بەت تەلەپلىرى ئۆز سىياسىتىنى ساقلايدۇ. دۇنيەۋى proxy مۇھىتىدا، بۇ نەشرىدە meta={'proxy': None} تاللانغان بەت تەلىپىنى بىۋاسىتە قىلىدۇ.

چۈشۈرۈشنىڭ ھەقىقەتەن چىققانلىقىنى تەكشۈرۈڭ. pipeline كەش ئۇچرىشىشى تور تەلىپىدىن ساقلىنىشى مۇمكىن. يېڭى يۆتكەشلەر ئۈچۈن، تاماملانغان رەسىم نەتىجە تۈرلىرىنى تەلەپ قىلىنغان URL لار بىلەن سېلىشتۇرۇڭ: مۇۋەپپەقىيەتلىك مەشغۇلاتلار شۇ يەردە كۆرۈنىدۇ، مەغلۇبىيەتلەر بولسا ئەسلى رەسىم-URL دائىرىسىنى تولدۇرۇپ قالدۇرۇشى مۇمكىن. يوقاپ كەتكەن نەتىجىلەرنى چۈشۈرگۈچ خاتىرىسى ۋە تاللانغان proxy ئارقىلىق ئىز قوغلاڭ.

مۇناسىۋەتلىك ماقالىلەر