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 ਖੇਤਰ ਭਰਿਆ ਛੱਡ ਸਕਦੀਆਂ ਹਨ। ਗੁੰਮ ਨਤੀਜਿਆਂ ਨੂੰ ਡਾਊਨਲੋਡਰ ਲੌਗ ਅਤੇ ਚੁਣੇ ਪਰਾਕਸੀ ਰਾਹੀਂ ਲੱਭੋ।

ਸੰਬੰਧਿਤ ਲੇਖ