Причврстите прокси на Scrapy захтеве за сликама
Украсите Requests које ствара ImagesPipeline да би преузимања слика добила прокси без поновне изградње логике захтева у pipeline-у.
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 замените стандардни унос ImagesPipeline у ITEM_PIPELINES путањом увоза ове поткласе. Задржите IMAGES_STORE и остала подешавања.
Позив родитеља чува његово конфигурисано поље URL-а слике и повратне позиве. Поткласа додаје само путању захтева, коју троши омогућени HttpProxyMiddleware. Сваки URL слике остаје његово одредиште. Нови захтеви за јавним сликама без прокси акредитива могу користити унос из листе HTTP проксија када је та путања дозвољена.
Захтеви за страницама задржавају сопствену политику. Уз глобално прокси окружење, meta={'proxy': None} чини изабрани захтев за страницу директним у овом издању.
Проверите да ли је преузимање заиста издато. Погодак кеша pipeline-а може избећи мрежни захтев. За нове преносе упоредите уносе резултата завршених слика са траженим URL-овима: успешне операције се појављују тамо, док неуспеси могу оставити оригинално поље URL-а слике попуњено. Пратите резултате који недостају кроз записе преузимача и изабрани прокси.