พร็อกซีต่อคำขอด้วย HTTP proxy middleware ของ Scrapy
ใช้เมทาดาทาคำขอของ Scrapy และ proxy middleware ของมันก่อนคัดลอก authentication middleware แบบกำหนดเองเก่าไปยัง crawler
HTTP proxy middleware ของ Scrapy อ่านพร็อกซีจากเมทาดาทาคำขอ:
yield scrapy.Request(
'https://example.com/',
callback=self.parse,
meta={'proxy': 'http://203.0.113.10:8080'},
)
แทนที่ปลายทางในเอกสารและเปิด middleware ไว้ รายการพร็อกซี HTTP เสนอผู้สมัครสาธารณะสำหรับ URL ของคำขอนี้ สิ่งนี้เลือกเส้นทางของคำขอ พูลพร็อกซีต้องมีตรรกะการเลือกแยกต่างหาก
การตรวจสอบสิทธิ์เป็นไปตามปลายทางที่เลือก
middleware ที่มีอยู่จัดการข้อมูลรับรองที่ให้มาผ่าน URL พร็อกซีที่รองรับและส่วนหัวการอนุญาตที่เกี่ยวข้อง escape อักขระ URL ที่สงวนไว้ และหลีกเลี่ยงการบันทึก URL นั้น
middleware แยกไม่ควรเก็บส่วนหัว Basic สำหรับพร็อกซีก่อนหน้าหลังจากปลายทางเปลี่ยน ให้ชั้นเดียวจัดการเส้นทางและข้อมูลรับรองของมันร่วมกัน
ลำดับการเลือกและค่าเริ่มต้น
หาก downloader middleware แบบกำหนดเองเลือกพร็อกซี ให้รันก่อนที่ proxy middleware ที่มีอยู่จะประมวลผลคำขอ ตรวจสอบลำดับและ API ของรุ่นที่ติดตั้ง การนำเข้า scrapy.contrib ที่ล้าสมัยเป็นของรุ่นเก่ากว่า
สภาพแวดล้อมของกระบวนการยังสามารถให้ค่าเริ่มต้นเฉพาะสคีมา สำหรับคำขอที่ตั้งใจให้ตรงโดยเจตนา ให้ใช้พฤติกรรมพิเศษที่บันทึกไว้ของเมทาดาทา proxy: การไม่มีคีย์ไม่ได้หมายถึงการเข้าถึงโดยตรงเสมอไป
ตรวจสอบผลลัพธ์จริง 407 เกี่ยวกับการตรวจสอบสิทธิ์พร็อกซี ในขณะที่ขีดจำกัดอัตราหรือการปฏิเสธการเข้าถึงของเว็บไซต์อาจมาหลังจากเส้นทางทำงานอย่างถูกต้อง