ขวดคุกกี้ของ Scrapy เป็นของเซสชัน ไม่ใช่ของพร็อกซีโดยอัตโนมัติ
เลือกอัตลักษณ์ขวดคุกกี้ให้ชัดเจนเมื่อเวิร์กโฟลว์ผ่านพร็อกซีหลายรายการใช้สไปเดอร์ตัวเดียวกัน และส่งต่ออัตลักษณ์นั้นไปยังคำขอถัดไป
การเปลี่ยนพร็อกซีไม่ได้เปลี่ยนคุกกี้ของสไปเดอร์โดยอัตโนมัติ สิ่งนี้อาจเป็นประโยชน์กับเซสชันเดียวที่ดำเนินต่อ และน่าประหลาดใจเมื่อหลายเซสชันที่เป็นอิสระต่อกันใช้สไปเดอร์ตัวเดียวกัน
มิดเดิลแวร์คุกกี้ของ Scrapy รองรับขวดแยกกันที่เลือกโดยเมทาดาทา cookiejar ของคำขอ จงให้คีย์นั้นมีอัตลักษณ์ที่คุณตั้งใจจะเก็บไว้จริง ๆ:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
ปลายทางและคีย์ขวดเป็นการเลือกที่เป็นอิสระต่อกัน การครอว์ลสาธารณะที่ไม่ผ่านการพิสูจน์ตัวตนอาจใช้ปลายทาง HTTP ที่เลือกไว้จากรายการพร็อกซี HTTPในที่ที่เส้นทางนั้นได้รับอนุญาต เวิร์กโฟลว์ยังคงเป็นเจ้าของคีย์ขวด คำขอถัดไปที่ควรอยู่ในเซสชันนี้ต้องใช้คีย์ขวดเดียวกัน เมทาดาทาไม่ได้ติดไปกับทุกคำขอใหม่ที่คุณสร้างโดยอัตโนมัติ จงส่งต่อฟิลด์เฉพาะที่เวิร์กโฟลว์ต้องการแทนการคัดลอกเมทาดาทาของมิดเดิลแวร์ทั้งหมดอย่างไม่ลืมหูลืมตา
การใช้ที่อยู่พร็อกซีเป็นคีย์ของขวดเป็นเพียงนโยบายหนึ่งเท่านั้น
ทางลัดนั้นจัดกลุ่มสถานะตามปลายทาง ไม่จำเป็นต้องจัดกลุ่มตามบุคคล บัญชี หรือทางออกสาธารณะ ปลายทางของผู้ให้บริการรายเดียวสามารถหมุนทางออกได้ และหลายบัญชีสามารถใช้ปลายทางเดียวกันได้
สำหรับเวิร์กโฟลว์ที่ได้รับอนุญาตและต้องการสถานะที่มั่นคง จงบันทึกตัวระบุบัญชี/เซสชัน ตัวระบุขวด และเส้นทางที่เลือกแยกจากกัน หากคุณตัดสินใจเปลี่ยนเส้นทางกลางคัน ก็จงตัดสินใจด้วยว่าจะเกิดอะไรกับเซสชันของแอปพลิเคชัน
ขวดที่แยกจากกันป้องกันการแชร์คุกกี้โดยไม่ตั้งใจระหว่างกลุ่มที่คุณกำหนดไว้ แต่ไม่ได้สัญญาว่าปลายทางจะเชื่อมโยงสองคำขอผ่านบัญชีหรือข้อมูลแอปพลิเคชันอื่นไม่ได้
หากหน้าเว็บผิดยังคงอยู่หลังจากเปลี่ยน IP จงตรวจสอบว่าขวดใดส่งคำขอก่อนจะลบคุกกี้ทั้งหมดหรือเปลี่ยนกลุ่มพร็อกซีทั้งกลุ่ม สถานะที่เก็บไว้อาจอธิบายหน้านั้นได้เป็นอย่างดี