צנצנת הקוקיז של Scrapy שייכת להפעלה, לא אוטומטית לפרוקסי
בחרו זהות מפורשת של צנצנת קוקיז כאשר כמה תהליכי עבודה דרך פרוקסי חולקים עכביש אחד, והעבירו את הזהות הזו לבקשות המשך.
החלפת הפרוקסי אינה מחליפה אוטומטית את הקוקיז של העכביש. זה יכול להיות שימושי להפעלה אחת שנמשכת, ומפתיע כאשר כמה הפעלות בלתי תלויות חולקות את אותו עכביש.
תוכנת הביניים לקוקיז של Scrapy תומכת בצנצנות נפרדות שנבחרות לפי מטא-נתוני cookiejar של הבקשה. תנו למפתח הזה את הזהות שאתם באמת מתכוונים לשמר:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
נקודת הקצה ומפתח הצנצנת הם בחירות בלתי תלויות. סריקה ציבורית לא מאומתת יכולה לקחת את נקודת הקצה של HTTP שנבחרה מתוך רשימת פרוקסי HTTP במקום שבו המסלול הזה מותר; תהליך העבודה עדיין הבעלים של מפתח הצנצנת. בקשת המשך שאמורה להישאר בהפעלה הזו זקוקה לאותו מפתח צנצנת; המטא-נתונים אינם נדבקים אוטומטית לכל בקשה חדשה שאתם יוצרים. העבירו את השדות המסוימים שהתהליך דורש במקום להעתיק בעיוורון את כל מטא-נתוני תוכנת הביניים.
שימוש בכתובת הפרוקסי כמפתח הצנצנת הוא רק מדיניות אחת
הקיצור הזה מקבץ מצב לפי נקודת קצה. הוא לא בהכרח מקבץ אותו לפי אדם, חשבון או יציאה ציבורית. נקודת קצה אחת של ספק יכולה לסובב יציאות, וכמה חשבונות יכולים להשתמש באותה נקודת קצה.
לתהליך עבודה מורשה שזקוק למצב יציב, תעדו בנפרד את מזהה החשבון/ההפעלה, מזהה הצנצנת והמסלול שנבחר. אם תחליטו להחליף את המסלול באמצע הדרך, החליטו גם מה צריך לקרות להפעלת היישום.
צנצנות נפרדות מונעות שיתוף קוקיז מקרי בין הקבוצות שהגדרתם. הן לא מבטיחות שיעד לא יכול לקשר שתי בקשות דרך חשבון או נתוני יישום אחרים.
אם הדף השגוי נמשך לאחר החלפת כתובות IP, בדקו איזו צנצנת שלחה את הבקשה לפני שמוחקים כל קוקי או מחליפים את כל מאגר הפרוקסי. המצב שנשמר עשוי בהחלט להסביר את הדף.