ມິດເດິນແວຣ໌ພຣອກຊີ Scrapy: ຄ່າສົ່ງຄືນ Request ແລະ None
ສົ່ງຄືນການຄວບຄຸມຫຼັງຈາກກຳນົດພຣອກຊີ Scrapy ແທນທີ່ຈະຈັດຕາຕະລາງຄຳຂໍເດີມຄືນໂດຍບໍ່ໄດ້ຕັ້ງໃຈກ່ອນດຶງຂໍ້ມູນ.
ທີ່ຢູ່ພຣອກຊີປ່ຽນໄປໃນບັນທຶກ. ປາຍທາງບໍ່ເຄີຍປາກົດໃນບັນທຶກການເຂົ້າເຖິງຂອງພຣອກຊີ. ກວດເບິ່ງວ່າມິດເດິນແວຣ໌ຂອງທ່ານປ່ອຍໃຫ້ຄຳຂໍໄປຮອດຕົວດຶງຂໍ້ມູນຫຼືບໍ່.
ໃນມິດເດິນແວຣ໌ຕົວດຶງຂໍ້ມູນຂອງ Scrapy, ການສົ່ງຄືນ Request ໝາຍຄວາມວ່າຈັດຕາຕະລາງຄຳຂໍນັ້ນຄືນ. ມັນບໍ່ໄດ້ໝາຍຄວາມວ່າ «ສືບຕໍ່ສົ່ງວັດຖຸນີ້ພ້ອມກັບເມຕາດາຕາທີ່ຂ້ອຍຫາກໍ່ປ່ຽນ».
ສຳລັບຕົວເລືອກທີ່ເລືອກພຽງເສັ້ນທາງ, ຮູບແບບທີ່ສຳຄັນແມ່ນ:
def process_request(self, request):
request.meta['proxy'] = self.choose_proxy()
return None
ສ່ວນນີ້ສະແດງຮູບແບບ hook ປັດຈຸບັນ; ໃຊ້ອິນເຕີເຟສມິດເດິນແວຣ໌ທີ່ເວີຊັນ Scrapy ທີ່ຕິດຕັ້ງຮອງຮັບ. ຕົວເລືອກຕ້ອງສົ່ງຄືນຈຸດປາຍທາງທີ່ຖືກຕ້ອງ ແລະ ຈັດການກຸ່ມທີ່ໃຊ້ບໍ່ໄດ້ຢ່າງຊັດເຈນ. ການເກັບຂໍ້ມູນສາທາລະນະທີ່ອະນຸຍາດຕົວກາງສາທາລະນະສາມາດເອົາຜູ້ສະໝັກ HTTP ຈາກບັນຊີພຣອກຊີ HTTPສຳລັບຄ່າສົ່ງຄືນນັ້ນ.
ການສົ່ງຄືນ None ປ່ອຍໃຫ້ມິດເດິນແວຣ໌ຄຳຂໍທີ່ເຫຼືອ ແລະ ຕົວດຶງຂໍ້ມູນສືບຕໍ່. ການສົ່ງຄືນ Request ອື່ນມີປະໂຫຍດເມື່ອທ່ານປ່ຽນ ຫຼື ລອງວຽກຄືນຢ່າງເຈດຕະນາ, ແຕ່ມັນຕ້ອງການເຫດຜົນ ແລະ ເງື່ອນໄຂອອກ.
ຕົວໝຸນທີ່ສົ່ງຄືນຄຳຂໍເດີມທຸກໆຄັ້ງສາມາດແລ່ນໂຄ້ດການເລືອກຂອງຕົນຊ້ຳໆໂດຍບໍ່ເຄີຍສ້າງການເຊື່ອມຕໍ່ໄປປາຍທາງ. ການເພີ່ມເວລາລໍຖ້າ ຫຼື ເປີດພອດພຣອກຊີເພີ່ມບໍ່ສາມາດແກ້ວົງຈອນການຄວບຄຸມນັ້ນໄດ້.
ກວດເບິ່ງການເຂົ້າສູ່ມິດເດິນແວຣ໌, ພຶດຕິກຳການສົ່ງຄືນ ແລະ ຄວາມພະຍາຍາມເຄືອຂ່າຍທຳອິດຕົວຈິງເປັນເຫດການແຍກກັນ. ບັນທຶກທີ່ຂຽນວ່າ «ເລືອກພຣອກຊີແລ້ວ» ພຽງແຕ່ພິສູດວ່າຕົວເລືອກໄດ້ແລ່ນ. ມັນບໍ່ໄດ້ພິສູດວ່າຄຳຂໍດ້ວຍຈຸດປາຍທາງທີ່ເລືອກຖືກສົ່ງແລ້ວ.