Ikabit ang proxy sa mga kahilingan ng larawan ng Scrapy
Palamutihan ang mga Requests na ginagawa ng ImagesPipeline upang ang mga pag-download ng larawan ay makakuha ng proxy nang hindi itinatayo muli ang lohika ng kahilingan ng 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
Para sa Scrapy 2.13.3, palitan ang karaniwang entry ng ImagesPipeline sa ITEM_PIPELINES ng import path ng subclass na ito. Panatilihin ang IMAGES_STORE at iba pang setting.
Pinapanatili ng pagtawag sa magulang ang naka-configure na field ng URL ng larawan at ang mga callback. Idinadagdag lamang ng subclass ang ruta ng kahilingan, na ginagamit ng naka-enable na HttpProxyMiddleware. Bawat URL ng larawan ay nananatiling destinasyon nito. Ang mga bagong kahilingan para sa pampublikong larawan na walang kredensyal ng proxy ay maaaring gumamit ng entry mula sa listahan ng HTTP proxy kapag pinapayagan ang rutang iyon.
Ang mga kahilingan sa pahina ay may sariling patakaran. Sa isang pandaigdigang kapaligiran ng proxy, ginagawa ng meta={'proxy': None} na direkta ang isang piniling kahilingan sa pahina sa release na ito.
Tiyakin na talagang naipadala ang pag-download. Ang cache hit ng pipeline ay makakaiwas sa isang kahilingan sa network. Para sa mga bagong paglilipat, ihambing ang mga entry ng resulta ng natapos na larawan sa mga hiniling na URL: lumilitaw doon ang mga matagumpay na operasyon, habang ang mga pagkabigo ay maaaring mag-iwan ng punong orihinal na field ng URL ng larawan. Subaybayan ang mga nawawalang resulta sa mga log ng downloader at sa napiling proxy.