كيفية إعداد وتدوير البروكسيات في Python Scrapy

آخر تحديث:

يتضمن محرك Twisted غير المتزامن في Scrapy مكونًا مدمجًا HttpProxyMiddleware (يعمل عند الأولوية 750) يقوم تلقائيًا بتحليل نصوص العناوين http://user:pass@ip:port المسندة إلى request.meta['proxy']. بكتابة برمجية وسيطة مخصصة (Downloader Middleware) مكونة من 10 أسطر عند الأولوية 740، يمكن لعناكب الكشط لديك التبديل التلقائي بين مجموعة من عناوين IP الثابتة وغير المحدودة من VinaProxy.

Scrapy · HTTP Proxy Format
request.meta['proxy'] = 'http://user:pass@ip:port'
IPv4 خاص (مراكز بيانات)
🇺🇸 United States
متوفر
من
‏20,000 ₫ / IP / شهريًا
≈ ‏0.74 US$ · الدفع بـ VND
أسعار الكميات المخفضة
  • 1 IP‏40,000 ₫
  • 5+ IP‏35,000 ₫
  • 10+ IP‏25,000 ₫
  • 20+ IP‏25,000 ₫
  • 50+ IP‏25,000 ₫
  • 100+ IP‏25,000 ₫
  • 200+ IP‏25,000 ₫
  • 500+ IP‏25,000 ₫
  • 1000+ IP‏22,000 ₫
  • 2000+ IP‏20,000 ₫
شراء United States
IPv4 خاص (مراكز بيانات)
🇬🇧 United Kingdom
متوفر
من
‏20,000 ₫ / IP / شهريًا
≈ ‏0.74 US$ · الدفع بـ VND
أسعار الكميات المخفضة
  • 1 IP‏40,000 ₫
  • 5+ IP‏35,000 ₫
  • 10+ IP‏25,000 ₫
  • 20+ IP‏25,000 ₫
  • 50+ IP‏25,000 ₫
  • 100+ IP‏25,000 ₫
  • 200+ IP‏25,000 ₫
  • 500+ IP‏25,000 ₫
  • 1000+ IP‏22,000 ₫
  • 2000+ IP‏20,000 ₫
شراء United Kingdom
بروكسي حسب المنصة:web-scrapingseo-rank-trackingamazon

ترتيب البرمجيات الوسيطة وإعدادات التزامن في Scrapy

نظرًا لأن HttpProxyMiddleware يعمل عند الأولوية 750 لإزالة user:pass من رابط البروكسي وترميز ترويسة Proxy-Authorization، فإن أي برمجية وسيطة تضبط request.meta['proxy'] يجب أن تعمل برقم أولوية أقل (مثل 740):

إعداد Scrapyالقيمة الموصى بهاالوظيفة والهدف التقني
request.meta['proxy']'http://user:pass@ip:port'يوجه الطلب عبر عقدة بروكسي VinaProxy المحددة
أولوية البرمجية الوسيطة740 (قبل 750)يضمن قيام HttpProxyMiddleware بترميز ترويسة المصادقة بنجاح
CONCURRENT_REQUESTS_PER_IP2 إلى 4يحدد عدد المقابس المتزامنة لكل عنوان IP لتجنب حظر HTTP 429
AUTOTHROTTLE_ENABLEDTrueيكيف تأخير الزحف ديناميكيًا بناءً على زمن استجابة الخادم الهدف

أفضل الممارسات لعمليات الزحف الكبيرة في Scrapy

  • قم بتحميل قائمة بروكسيات VinaProxy في from_crawler() وقم بتعيين request.meta['proxy'] = random.choice(self.proxies) داخل دالة process_request()
  • فعّل RANDOMIZE_DOWNLOAD_DELAY = True بجانب DOWNLOAD_DELAY = 1.0 حتى لا تظهر فترات الطلبات لكل IP بنمط آلي متكرر
  • عند مواجهة أخطاء تتطلب إعادة المحاولة (429 أو 503)، اختر بروكسي مختلفاً من مجموعتك قبل إعادة إدراج الطلب في قائمة الانتظار

خطوة بخطوة

  1. 1

    نسق قائمة البروكسي كروابط http://user:pass@ip:port

    الصق قائمتك من VinaProxy في أداة تحويل تنسيق البروكسي للحصول على روابط جاهزة.

  2. 2

    أنشئ ProxyPoolMiddleware في ملف middlewares.py

    قم بتعريف process_request(self, request, spider) لتعيين request.meta['proxy'] = random.choice(self.proxies).

  3. 3

    سجل البرمجية بالأولوية 740 في settings.py

    أضف 'myproject.middlewares.ProxyPoolMiddleware': 740 تحت DOWNLOADER_MIDDLEWARES واضبط CONCURRENT_REQUESTS_PER_IP = 2.

  4. 4

    اختبر باستخدام scrapy shell أو أمر الزحف

    أرسل طلباً تجريبياً إلى https://vinaproxy.com/api/my-ip للتحقق من سلامة التدوير والمصادقة.

الأسئلة الشائعة

لماذا فشلت برمجية البروكسي المخصصة في Scrapy عندما ضبطت أولويتها على 800؟

يعمل المكون المدمج HttpProxyMiddleware عند الأولوية 750. إذا عملت البرمجية عند 800 (بعد 750)، فلن يتم تحويل user:pass إلى ترويسة Proxy-Authorization. اضبط الأولوية دائمًا على رقم أقل من 750 (مثل 740).

هل يحافظ Scrapy على اتصالات مستمرة مفتوحة مع كل خادم بروكسي؟

نعم. يحافظ مجمع اتصالات Twisted على اتصالات TCP keep-alive مستمرة لكل نقطة نهاية بروكسي لتقليل زمن المصافحة.

هل تخضع بروكسيات VinaProxy لحدود البيانات في مهام Scrapy التي تتضمن ملايين الصفحات؟

لا. تشمل جميع خطط IPv4 المخصصة و ISP الثابتة من VinaProxy نطاقاً ترددياً غير محدود شهرياً.

وسع نطاق عناكب Scrapy بمجموعات عناوين IP ثابتة غير محدودة

بروكسيات Dedicated IPv4 و Static ISP بالجملة في 7 دول مع تسليم فوري.

شراء بروكسيات Scrapy

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

بروكسي حسب المنصة
بروكسي لكشط الويب: مجموعات عناوين IPv4 وISP مخصصة غير محدودة لروبوتات 24/7
بروكسيات HTTP(S) IPv4 مخصصة وISP ثابتة فائقة السرعة لـ Python وPlaywright وSelenium وScrapy مع حركة بيانات شهرية غير محدودة.
إعداد البروكسي
كيفية استخدام البروكسي في Python Requests (HTTP/HTTPS وتجميع الجلسات)
تهيئة بروكسيات HTTP(S) الموثقة في مكتبة Python requests وrequests.Session(). حل أخطاء 407 ProxyError وتدوير مجموعات عناوين IP الثابتة.
إعداد البروكسي
كيفية إعداد بروكسي في Playwright (مصادقة على مستوى المتصفح ولكل Context)
قم بإعداد بروكسيات HTTP(S) معتمدة وموثقة في Playwright لـ Node.js و Python. شغّل عناوين IP ثابتة ومعزولة متعددة عبر BrowserContexts.
أدوات مجانية
محول صيغ البروكسي الجماعي (معالجة آمنة 100% داخل المتصفح)
أداة تنسيق قوائم البروكسي الجماعية تعمل 100% داخل المتصفح. تحويل فوري بين ip:port:user:pass و user:pass@ip:port وروابط http:// و SOCKS5 ومصفوفات JSON وملفات FoxyProxy.
بروكسي حسب المنصة
بروكسي لـ SEO وتتبع نتائج البحث (SERP): ترتيب دقيق للكلمات المفتاحية عبر 7 دول
تتبع ترتيب الكلمات المفتاحية المحلية، ودقق عمليات إعادة التوجيه الجغرافي، وشغل Screaming Frog مع بروكسيات IPv4 مخصصة وISP ثابتة غير محدودة.
بروكسي حسب المنصة
بروكسي لـ Amazon: اعزل حسابات Seller Central وKDP وMerch على عناوين IP ثابتة
امنع حظر الحسابات المرتبطة على Amazon Seller Central وKDP وMerch on Demand. بروكسيات ISP ثابتة في أمريكا وIPv4 خاصة في بريطانيا/اليابان.
IPV4 · united states
بروكسيات IPv4 أمريكية خاصة: عناوين سريعة ومخصصة لمراكز البيانات في أمريكا
بروكسيات IPv4 أمريكية خاصة لجمع البيانات وتتبع الترتيب وفحص الإعلانات وAmazon. عنوان ثابت، مستخدم واحد لكل IP، حركة غير محدودة وتفعيل سريع.
IPV4 · united kingdom
بروكسيات IPv4 خاصة في بريطانيا: عناوين مراكز بيانات بريطانية للبائعين وSEO
بروكسيات IPv4 خاصة في بريطانيا لأبحاث eBay UK وAmazon.co.uk وتتبع google.co.uk وفحص الإعلانات وحسابات التواصل. سعة غير محدودة.