تغيير الوكيل لا يغيّر تلقائيًا ملفات تعريف الارتباط الخاصة بالعنكبوت. قد يكون ذلك مفيدًا لجلسة واحدة مستمرة، ومفاجئًا عندما تتشارك عدة جلسات مستقلة العنكبوت نفسه.

تدعم البرمجية الوسيطة لملفات تعريف الارتباط في Scrapy جرات منفصلة تُختار عبر البيانات الوصفية cookiejar للطلب. أعطِ ذلك المفتاح الهوية التي تنوي الحفاظ عليها فعلًا:

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

نقطة النهاية ومفتاح الجرة اختياران مستقلان. قد يأخذ زحف عام غير موثَّق نقطة النهاية HTTP التي اختارها من قائمة وكلاء HTTP حيث يُسمح بذلك المسار؛ ولا يزال سير العمل مالكًا لمفتاح الجرة. الطلب اللاحق الذي ينبغي أن يبقى في هذه الجلسة يحتاج إلى المفتاح نفسه؛ فالبيانات الوصفية ليست لاصقة تلقائيًا لكل طلب جديد تنشئه. انقل الحقول المحددة التي يتطلبها سير العمل بدلًا من نسخ كل البيانات الوصفية للبرمجية الوسيطة دون تمييز.

استخدام عنوان الوكيل مفتاحًا للجرة سياسة واحدة فقط

هذا الاختصار يجمع الحالة حسب نقطة النهاية. ولا يجمعها بالضرورة حسب الشخص أو الحساب أو المخرج العام. يمكن لنقطة نهاية واحدة لدى مزوّد أن تدوّر المخارج، ويمكن لعدة حسابات استخدام النقطة نفسها.

لسير عمل مصرّح به يحتاج إلى حالة مستقرة، سجّل معرّف الحساب/الجلسة ومعرّف الجرة والمسار المختار بشكل منفصل. وإذا قررت تغيير المسار في منتصف الطريق، فقرّر أيضًا ما ينبغي أن يحدث لجلسة التطبيق.

تمنع الجرات المنفصلة مشاركة ملفات تعريف الارتباط عرضًا بين المجموعات التي حددتها. لكنها لا تعد بأن وجهة ما لا تستطيع ربط طلبين عبر حساب أو بيانات تطبيق أخرى.

إذا استمر ظهور الصفحة الخاطئة بعد تغيير عناوين IP، فافحص أي جرة أرسلت الطلب قبل حذف كل ملف تعريف ارتباط أو استبدال مجمع الوكلاء بأكمله. فالحالة المحفوظة قد تفسّر الصفحة تفسيرًا كاملًا.

مقالات ذات صلة