Scrapy AutoThrottle ผ่านพร็อกซี: สล็อตและความหน่วง
แยกสล็อตดาวน์โหลดของไซต์เป้าหมายออกจากเส้นทางพร็อกซี และตีความความหน่วงเป็นเส้นทางคำขอที่สังเกตได้
โดยค่าเริ่มต้น Scrapy จะกำหนดสล็อตดาวน์โหลดจากโดเมนของ URL คำขอ การให้พร็อกซี HTTP แก่คำขอไม่ได้เปลี่ยน URL นั้นเป็นชื่อโฮสต์ของพร็อกซี ดังนั้นคำขอไปยังไซต์ต่าง ๆ จึงยังคงมีสล็อตต่างกันได้ในขณะที่ใช้ตัวกลางเดียวกัน
AutoThrottle ปรับความหน่วงของแต่ละสล็อตโดยใช้ความหน่วงในการดาวน์โหลดที่สังเกตได้ ขีดจำกัดการทำงานพร้อมกันต่อโดเมนตามมาตรฐานและความหน่วงในการดาวน์โหลดขั้นต่ำยังคงมีผล
ตรวจสอบการจัดกลุ่มก่อนเปลี่ยนอัลกอริทึม
มิดเดิลแวร์ที่กำหนดเองสามารถกำหนด request.meta["download_slot"] ซึ่งเขียนทับการเลือกสล็อตปกติ ส่วนขยายพร็อกซีบางตัวใช้การจัดกลุ่มของตัวเอง ตรวจสอบการตั้งค่าเหล่านั้นหากดูเหมือนว่าไซต์ที่ไม่เกี่ยวข้องกันใช้ตัวจำกัดเดียวกัน
ในทางกลับกัน การกำหนดสล็อตต่างกันให้แต่ละพร็อกซีอาจทำให้พร็อกซีหลายตัวติดต่อเป้าหมายเดียวกันพร้อมกันได้ ซึ่งอาจบั่นทอนขีดจำกัดทั้งไซต์ที่ครอว์เลอร์ควรเคารพ เลือกคีย์สล็อตตามทรัพยากรที่ได้รับการป้องกัน
ความหน่วงรวมเส้นทางที่คุณใช้
Scrapy วัดความหน่วงจากการส่งคำขอจนถึงการรับส่วนหัว HTTP คำขอที่ส่งผ่านพร็อกซีอาจรวมความหน่วงในการจัดคิวและการส่งต่อของตัวกลางไว้ในการวัดนั้น AutoThrottle ไม่ได้เวลาในการประมวลผลแยกเฉพาะต้นทาง
การเพิ่มการทำงานพร้อมกันไม่ทำให้การวัดนั้นแยกไซต์ออกมาได้ รักษาความสุภาพต่อเป้าหมายและความจุของพร็อกซีเป็นขีดจำกัดแยกกันเมื่อทั้งสองสำคัญ พร็อกซีที่ใช้ร่วมกันอาจต้องมี งบประมาณการทำงานพร้อมกันเพิ่มเติมทั่วสล็อตเป้าหมาย ขณะที่แต่ละเป้าหมายยังคงนโยบายอัตราของตนเอง