การเปลี่ยนพร็อกซีไม่ได้เปลี่ยนคุกกี้ของสไปเดอร์โดยอัตโนมัติ สิ่งนี้อาจเป็นประโยชน์กับเซสชันเดียวที่ดำเนินต่อ และน่าประหลาดใจเมื่อหลายเซสชันที่เป็นอิสระต่อกันใช้สไปเดอร์ตัวเดียวกัน

มิดเดิลแวร์คุกกี้ของ Scrapy รองรับขวดแยกกันที่เลือกโดยเมทาดาทา cookiejar ของคำขอ จงให้คีย์นั้นมีอัตลักษณ์ที่คุณตั้งใจจะเก็บไว้จริง ๆ:

yield scrapy.Request(
    'https://example.com/start',
    meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)

ปลายทางและคีย์ขวดเป็นการเลือกที่เป็นอิสระต่อกัน การครอว์ลสาธารณะที่ไม่ผ่านการพิสูจน์ตัวตนอาจใช้ปลายทาง HTTP ที่เลือกไว้จากรายการพร็อกซี HTTPในที่ที่เส้นทางนั้นได้รับอนุญาต เวิร์กโฟลว์ยังคงเป็นเจ้าของคีย์ขวด คำขอถัดไปที่ควรอยู่ในเซสชันนี้ต้องใช้คีย์ขวดเดียวกัน เมทาดาทาไม่ได้ติดไปกับทุกคำขอใหม่ที่คุณสร้างโดยอัตโนมัติ จงส่งต่อฟิลด์เฉพาะที่เวิร์กโฟลว์ต้องการแทนการคัดลอกเมทาดาทาของมิดเดิลแวร์ทั้งหมดอย่างไม่ลืมหูลืมตา

การใช้ที่อยู่พร็อกซีเป็นคีย์ของขวดเป็นเพียงนโยบายหนึ่งเท่านั้น

ทางลัดนั้นจัดกลุ่มสถานะตามปลายทาง ไม่จำเป็นต้องจัดกลุ่มตามบุคคล บัญชี หรือทางออกสาธารณะ ปลายทางของผู้ให้บริการรายเดียวสามารถหมุนทางออกได้ และหลายบัญชีสามารถใช้ปลายทางเดียวกันได้

สำหรับเวิร์กโฟลว์ที่ได้รับอนุญาตและต้องการสถานะที่มั่นคง จงบันทึกตัวระบุบัญชี/เซสชัน ตัวระบุขวด และเส้นทางที่เลือกแยกจากกัน หากคุณตัดสินใจเปลี่ยนเส้นทางกลางคัน ก็จงตัดสินใจด้วยว่าจะเกิดอะไรกับเซสชันของแอปพลิเคชัน

ขวดที่แยกจากกันป้องกันการแชร์คุกกี้โดยไม่ตั้งใจระหว่างกลุ่มที่คุณกำหนดไว้ แต่ไม่ได้สัญญาว่าปลายทางจะเชื่อมโยงสองคำขอผ่านบัญชีหรือข้อมูลแอปพลิเคชันอื่นไม่ได้

หากหน้าเว็บผิดยังคงอยู่หลังจากเปลี่ยน IP จงตรวจสอบว่าขวดใดส่งคำขอก่อนจะลบคุกกี้ทั้งหมดหรือเปลี่ยนกลุ่มพร็อกซีทั้งกลุ่ม สถานะที่เก็บไว้อาจอธิบายหน้านั้นได้เป็นอย่างดี

บทความที่เกี่ยวข้อง