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} منتخب صفحہ درخواست کو براہ راست بناتا ہے۔

جانچیں کہ ڈاؤن لوڈ واقعی جاری ہوا۔ پائپ لائن کیش ہٹ نیٹ ورک درخواست سے بچ سکتی ہے۔ نئی منتقلیوں کے لیے، مکمل شدہ تصویر کے نتیجہ اندراجات کا درخواست کردہ URL کے ساتھ موازنہ کریں: کامیاب کارروائیاں وہاں دکھائی دیتی ہیں، جبکہ ناکامیاں اصل تصویر-URL فیلڈ بھرا چھوڑ سکتی ہیں۔ گم شدہ نتائج کو ڈاؤن لوڈر لاگز اور منتخب پراکسی کے ذریعے تلاش کریں۔

متعلقہ مضامین