شعار proxyscrape داكن

كيفية إعداد البروكسيات في سيلينيوم لكشط الويب

كيفية القيام بذلك, بايثون, البروكسي, 27 نوفمبر - 27 نوفمبر - 20245 دقائق للقراءة

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

سيلينيوم-سلك

سيلينيوم واير هو نسخة موسعة من سيلينيوم تضيف ميزات متقدمة إضافية عليه من خلال السماح لك بمصادقة الوكلاء بسهولة، واعتراض طلبات HTTP واستجاباتها، وتصحيح حركة مرور الشبكة.

سنوضح لك في هذا الدليل كيفية إعداد الوكلاء في سيلينيوم باستخدام سلك السيلينيوم و مدير سائق الويب-مدير الويب. وعادةً ما تحتاج إلى تنزيل الملفات الثنائية الخاصة بمشغلات الويب من المتصفحات والحفاظ على التحديثات المنتظمة. إن مدير سائق الويب-مدير الويب تبسيط هذه العملية من خلال التعامل مع هذه المهام نيابةً عنك.

بحلول نهاية هذه المدونة، سيكون لديك إعداد سيلينيوم مهيأ بالكامل ومصمّم خصيصًا لـ ProxyScrape البروكسي، وجاهزًا لمواجهة أي تحديات تعترض طريقك. دعنا نبدأ!

خلاصة القول؛ والصورة

للوصول إلى النص البرمجي الكامل دون المرور بالبرنامج التعليمي بأكمله، انقر على هذا الرابط لنسخ الكود الكامل.

المتطلبات الأساسية 

قبل أن نتعمق في إعداد البروكسيات في سيلينيوم، تأكد من أن لديك الأدوات والمكتبات التالية مثبتة وجاهزة:

  • تم تثبيت بايثون
  • حزم بايثون المطلوبة (تثبيت بيب)
    • سلك السيلينيوم
    • مدير سائق الويب-مدير الويب

قم بتشغيل الأمر التالي لتثبيت جميع التبعيات:

تثبيت نقطة تثبيت سيلينيوم-سلك سلك سيلينيوم مدير سائق الويب

ملاحظة: قد تواجه الخطأ "ModuleNotFoundError: لا توجد وحدة نمطية باسم blinker._saferef". يمكن حل هذه المشكلة بتخفيض مستوى مكتبة blinker إلى الإصدار 1.7.0

  • ابدأ بـ إلغاء التثبيت الإصدار الحالي من وميض
إلغاء تثبيت بلينكر
  • ثم قم بتثبيت الإصدار المحدد المذكور أعلاه:
نقطة تثبيت بلينكر==1.7.0

مع توفر المتطلبات الأساسية، دعنا نقسم تكوين البرنامج النصي إلى ثلاث خطوات بسيطة:

إعداد البروكسيات في سيلينيوم: البرنامج النصي

الآن بعد أن غطينا المتطلبات الأساسية، دعنا ننتقل إلى البرنامج النصي الفعلي. سيساعدك هذا الدليل التفصيلي خطوة بخطوة على دمج ProxyScrape الوكلاء السكنيون مع السيلينيوم باستخدام سلك السيلينيوم و مدير سائق الويب-مدير الويب.

1. استيراد المكتبات المطلوبة

نبدأ باستيراد المكتبات اللازمة:

استيراد إعادة
من seleniumwire استيراد webdriver
من selenium.webdriver.chrome.service.chrome.service استيراد خدمة
من selenium.webdriver.chrome.options.chrome.options استيراد خيارات
من webdriver_manager.chrome استيراد ChromeDriverManager

2. تهيئة الوكيل

حدد تفاصيل الوكيل ProxyScrape الخاص بك

proxy_address = "rp.proxyscrape.com:6060"
proxy_username = "your_proxy_username"
proxy_password = "your_proxy_password"
  • استبدل العناصر النائبة (اسم المستخدم_الوكيل، كلمة المرور الوكيل) بأوراق اعتمادك الفعلية ProxyScrape
  • rp.proxyscrape.com:6060 هي نقطة نهاية الوكيل السكني ProxyScrape .

3. خيارات أسلاك السيلينيوم

قم بإعداد الوكيل في سيلينيوم واير:

sw_options = {
   'proxy': {
       'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
       'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
   }
}

4. تكوين خيارات كروم

قم بتحسين إعدادات Chrome للحصول على أداء أفضل:

chrome_options = خيارات()
chrome_options.add_argument("--بدء-التكبير")
chrome_options.add_argument("--لا-صندوق رمل")
chrome_options.add_argument("--disable-dev-shm-usage")

5. تهيئة WebDriver

الإعداد سلك السيلينيوم مع مدير سائق الويب-مدير الويب:

الخدمة = خدمة(خدمة(ChromeDriverManager().install()))
برنامج التشغيل = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
  • ChromeDriverManager: يقوم تلقائيًا بتنزيل وإعداد ثنائي ChromeDriver الصحيح لإصدار متصفحك.
  • seleniumwire_options: تهيئة الوكيل لسيلينيوم واير.
  • خيارات: يطبق الإعدادات الخاصة بمتصفح Chrome.

6. الوصول إلى موقع الهدف على الويب

انتقل إلى نقطة النهاية ProxyScrape القاضي لاختبار الوكيل الخاص بك:

driver.get('https://ssl-judge2.api.proxyscrape.com/')
  • ProxyScrape القاضي: تقوم نقطة النهاية هذه بإرجاع معلومات حول الوكيل المستخدم، مثل عنوان IP الخاص بك والرؤوس.

7. تحليل الاستجابة

قم باستخراج عنوان IP الوكيل الخاص بك وعرضه باستخدام regex:

# مثال: استخراج عنوان IP من الاستجابة
الاستجابة = driver.page_source

# باستخدام regex بسيط لتحليل عنوان IP الأصلي
طباعة("استجابة:"، استجابة)
طباعة("عنوان IP الخاص بك هو:",", re.search("HTTP_X_FORWARDED_FOR = (\d+\\.)+\d+", response).group().split("=")[-1])
# إنهاء مثيل المتصفح
driver.quit()
  • شرح Regex:
    • يطابق الرأس HTTP_X_FORWARDED_FORFOR ويستخرج عنوان IP الوكيل
    • يقوم بتقسيم النتيجة لعزل عنوان IP

الخاتمة

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

باتباع هذا الدليل، يمكنك إعداد بيئة سلسة لا تتجاوز القيود فحسب، بل تتطلب أيضًا الحد الأدنى من جهود التهيئة. تستفيد هذه الطريقة من أدوات قوية مثل Selenium Wire و WebDriver Managerلإدارة حركة المرور وتوجيهها بكفاءة من خلال الوكلاء، مما يضمن بقاء مهام الكشط فعالة وموثوقة.

إذا كنت بحاجة إلى مساعدة في تجريف الويب أو كانت لديك أسئلة حول منتجنا، فلا تتردد في الاتصال بنا عبر الدردشة المباشرة. يمكنك أيضًا الانضمام إلى مجتمع Discord الخاص بنا للحصول على الدعم والتحديثات.