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