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 ດ້ວຍເສັ້ນທາງ import ຂອງຊັ້ນຍ່ອຍນີ້. ຮັກສາ IMAGES_STORE ແລະ ການຕັ້ງຄ່າອື່ນໆ.

ການເອີ້ນພໍ່ແມ່ຮັກສາເຂດ URL ຮູບພາບ ແລະ callback ທີ່ຕັ້ງຄ່າໄວ້. ຊັ້ນຍ່ອຍເພີ່ມພຽງເສັ້ນທາງຄຳຮ້ອງ ເຊິ່ງ HttpProxyMiddleware ທີ່ເປີດໃຊ້ງານຈະໃຊ້. ແຕ່ລະ URL ຮູບພາບຍັງເປັນປາຍທາງຂອງມັນ. ຄຳຮ້ອງຮູບພາບສາທາລະນະໃໝ່ທີ່ບໍ່ມີຂໍ້ມູນພຣອກຊີ ສາມາດໃຊ້ລາຍການຈາກ ບັນຊີພຣອກຊີ HTTP ເມື່ອເສັ້ນທາງນັ້ນໄດ້ຮັບອະນຸຍາດ.

ຄຳຮ້ອງໜ້າຮັກສານະໂຍບາຍຂອງຕົນເອງ. ດ້ວຍສະພາບແວດລ້ອມພຣອກຊີທົ່ວໂລກ meta={'proxy': None} ເຮັດໃຫ້ຄຳຮ້ອງໜ້າທີ່ເລືອກເປັນແບບຊື່ໃນສະບັບນີ້.

ກວດສອບວ່າການດາວໂຫລດຖືກສົ່ງອອກຈິງ. ການຖືກ cache ຂອງ pipeline ສາມາດຫຼີກລ້ຽງຄຳຮ້ອງເຄືອຂ່າຍ. ສຳລັບການສົ່ງຕໍ່ໃໝ່ ໃຫ້ປຽບທຽບລາຍການຜົນຮູບພາບທີ່ສຳເລັດກັບ URL ທີ່ຮ້ອງຂໍ: ການດຳເນີນການທີ່ສຳເລັດຈະປາກົດຢູ່ທີ່ນັ້ນ ສ່ວນຄວາມລົ້ມເຫຼວອາດປະເຂດ URL ຮູບພາບເດີມໄວ້ເຕັມ. ຕິດຕາມຜົນທີ່ຂາດຫາຍຜ່ານ log ຂອງຕົວດາວໂຫລດ ແລະ ພຣອກຊີທີ່ເລືອກ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ