عند العمل مع Selenium لكشط الويب أو الأتمتة، فإن دمج البروكسيات أمر لا بد منه. تسمح لك الوكلاء بتجاوز الحظر وحدود المعدل والقيود الجغرافية، مما يجعل مهامك سلسة وفعالة. لكن تكوين البروكسيات في Selenium يمكن أن يمثل تحديًا، خاصةً إذا كنت تتعامل مع المصادقة أو تحتاج إلى مراقبة طلبات HTTP. وهنا يأتي دور سيلينيوم واير.
سيلينيوم واير هو نسخة موسعة من سيلينيوم تضيف ميزات متقدمة إضافية عليه من خلال السماح لك بمصادقة الوكلاء بسهولة، واعتراض طلبات HTTP واستجاباتها، وتصحيح حركة مرور الشبكة.
سنوضح لك في هذا الدليل كيفية إعداد الوكلاء في سيلينيوم باستخدام سلك السيلينيوم
و مدير سائق الويب-مدير الويب
. وعادةً ما تحتاج إلى تنزيل الملفات الثنائية الخاصة بمشغلات الويب من المتصفحات والحفاظ على التحديثات المنتظمة. إن مدير سائق الويب-مدير الويب تبسيط هذه العملية من خلال التعامل مع هذه المهام نيابةً عنك.
بحلول نهاية هذه المدونة، سيكون لديك إعداد سيلينيوم مهيأ بالكامل ومصمّم خصيصًا لـ ProxyScrape البروكسي، وجاهزًا لمواجهة أي تحديات تعترض طريقك. دعنا نبدأ!
للوصول إلى النص البرمجي الكامل دون المرور بالبرنامج التعليمي بأكمله، انقر على هذا الرابط لنسخ الكود الكامل.
قبل أن نتعمق في إعداد البروكسيات في سيلينيوم، تأكد من أن لديك الأدوات والمكتبات التالية مثبتة وجاهزة:
قم بتشغيل الأمر التالي لتثبيت جميع التبعيات:
تثبيت نقطة تثبيت سيلينيوم-سلك سلك سيلينيوم مدير سائق الويب
ملاحظة: قد تواجه الخطأ "ModuleNotFoundError: لا توجد وحدة نمطية باسم blinker._saferef". يمكن حل هذه المشكلة بتخفيض مستوى مكتبة blinker إلى الإصدار 1.7.0
وميض
إلغاء تثبيت بلينكر
نقطة تثبيت بلينكر==1.7.0
مع توفر المتطلبات الأساسية، دعنا نقسم تكوين البرنامج النصي إلى ثلاث خطوات بسيطة:
الآن بعد أن غطينا المتطلبات الأساسية، دعنا ننتقل إلى البرنامج النصي الفعلي. سيساعدك هذا الدليل التفصيلي خطوة بخطوة على دمج ProxyScrape الوكلاء السكنيون مع السيلينيوم باستخدام سلك السيلينيوم
و مدير سائق الويب-مدير الويب
.
نبدأ باستيراد المكتبات اللازمة:
استيراد إعادة
من seleniumwire استيراد webdriver
من selenium.webdriver.chrome.service.chrome.service استيراد خدمة
من selenium.webdriver.chrome.options.chrome.options استيراد خيارات
من webdriver_manager.chrome استيراد ChromeDriverManager
حدد تفاصيل الوكيل ProxyScrape الخاص بك
proxy_address = "rp.proxyscrape.com:6060"
proxy_username = "your_proxy_username"
proxy_password = "your_proxy_password"
(اسم المستخدم_الوكيل، كلمة المرور الوكيل)
بأوراق اعتمادك الفعلية ProxyScrapeقم بإعداد الوكيل في سيلينيوم واير:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
قم بتحسين إعدادات Chrome للحصول على أداء أفضل:
chrome_options = خيارات()
chrome_options.add_argument("--بدء-التكبير")
chrome_options.add_argument("--لا-صندوق رمل")
chrome_options.add_argument("--disable-dev-shm-usage")
الإعداد سلك السيلينيوم
مع مدير سائق الويب-مدير الويب
:
الخدمة = خدمة(خدمة(ChromeDriverManager().install()))
برنامج التشغيل = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
انتقل إلى نقطة النهاية ProxyScrape القاضي لاختبار الوكيل الخاص بك:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
قم باستخراج عنوان IP الوكيل الخاص بك وعرضه باستخدام regex:
# مثال: استخراج عنوان IP من الاستجابة
الاستجابة = driver.page_source
# باستخدام regex بسيط لتحليل عنوان IP الأصلي
طباعة("استجابة:"، استجابة)
طباعة("عنوان IP الخاص بك هو:",", re.search("HTTP_X_FORWARDED_FOR = (\d+\\.)+\d+", response).group().split("=")[-1])
# إنهاء مثيل المتصفح
driver.quit()
HTTP_X_FORWARDED_FORFOR
ويستخرج عنوان IP الوكيلفي الختام، فإن استخدام البروكسيات السكنيةProxyScrape مع سيلينيوم واير هو حل قوي لأي شخص يحتاج إلى قدرات متقدمة في كشط الويب والأتمتة مع تعزيز الخصوصية والأمان.
باتباع هذا الدليل، يمكنك إعداد بيئة سلسة لا تتجاوز القيود فحسب، بل تتطلب أيضًا الحد الأدنى من جهود التهيئة. تستفيد هذه الطريقة من أدوات قوية مثل Selenium Wire و WebDriver Managerلإدارة حركة المرور وتوجيهها بكفاءة من خلال الوكلاء، مما يضمن بقاء مهام الكشط فعالة وموثوقة.
إذا كنت بحاجة إلى مساعدة في تجريف الويب أو كانت لديك أسئلة حول منتجنا، فلا تتردد في الاتصال بنا عبر الدردشة المباشرة. يمكنك أيضًا الانضمام إلى مجتمع Discord الخاص بنا للحصول على الدعم والتحديثات.