عند العمل مع استخراج الويب أو التشغيل الآلي باستخدام السيلينيوم وPython، يمكن أن يكون استخدام الوكلاء ضروريًا لتجنب حظر IP وتحسين كفاءة جمع البيانات لديك. سترشدك هذه المقالة خلال عملية إعداد واستخدام الوكلاء في السيلينيوم مع بايثون.
ما هو السيلينيوم ولماذا نستخدم الوكلاء؟
السيلينيوم هي أداة قوية لأتمتة متصفحات الويب، وغالبًا ما تستخدم لتجميع الويب واختبار تطبيقات الويب. الوكلاء هي خوادم وسيطة تفصل المستخدمين النهائيين عن مواقع الويب التي يتصفحونها، مما يساعد على إخفاء عناوين IP وإدارة تحميل الطلبات.
إعداد السيلينيوم مع الوكلاء
قبل الغوص في التعليمات البرمجية، تأكد من تثبيت الأدوات اللازمة:
- بايثون
- السيلينيوم (
pip install selenium
) - برنامج تشغيل متصفح الويب (على سبيل المثال، ChromeDriver لمتصفح Chrome أو GeckoDriver لمتصفح Firefox)
دليل خطوة بخطوة لاستخدام الوكلاء في السيلينيوم
1. إعداد Chrome باستخدام وكيل
لتكوين Chrome لاستخدام خادم وكيل، تحتاج إلى إعداد الإمكانات المطلوبة في السيلينيوم.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
# Specify proxy details
proxy = "your_proxy_ip:port"
# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')
# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")
# Close the browser
driver.quit()
الوكيل مع المصادقة
إذا كان الوكيل الخاص بك يتطلب المصادقة، فيمكنك استخدام Proxy
فئة من selenium.webdriver.common.proxy
.
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
# Proxy settings
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your_proxy_ip:port"
proxy.ssl_proxy = "your_proxy_ip:port"
proxy.add_argument('--proxy-auth=user:password')
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), desired_capabilities=capabilities)
# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")
# Close the browser
driver.quit()
استخدام Firefox مع وكيل
لتكوين Firefox لاستخدام وكيل، قم بتعديل إعدادات ملف تعريف Firefox.
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager
# Proxy details
proxy_ip = "your_proxy_ip"
proxy_port = "port"
# Set up Firefox profile
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxy_ip)
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", proxy_ip)
profile.set_preference("network.proxy.ssl_port", int(proxy_port))
# Initialize WebDriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), firefox_profile=profile)
# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")
# Close the browser
driver.quit()
استكشاف المشكلات الشائعة وإصلاحها
مصادقة الوكيل: إذا كان الوكيل الخاص بك يتطلب تسجيل الدخول، فتأكد من تعيين بيانات الاعتماد بشكل صحيح.
حظر IP: قد تستمر بعض مواقع الويب في حظر الوكلاء. استخدم الوكلاء السكنيين أو المتناوبين للتخفيف من هذه المشكلة.
ملخص
يمكن أن يساعدك استخدام الوكلاء مع السيلينيوم وPython في تجاوز قيود IP وتحسين مشاريع تجريف الويب الخاصة بك. سواء كنت تستخدم Chrome أو Firefox، فإن إعداد الوكلاء يتضمن تكوين خيارات المتصفح وإمكانياته لتوجيه حركة المرور عبر الخادم الوكيل.
المتصفح | طريقة الإعداد | المصادقة | مقتطف الكود متاح |
---|---|---|---|
كروم | خيارات Chrome | نعم | نعم |
ثعلب النار | FirefoxProfile | نعم | نعم |
باتباع هذه الخطوات، يمكنك التأكد من أن أنشطة التجريف الخاصة بك تظل فعالة دون انقطاع. إذا كان لديك أي أسئلة أو أفكار للدروس المستقبلية، فلا تتردد في ترك تعليق!
التعليقات (0)
لا توجد تعليقات هنا حتى الآن، يمكنك أن تكون الأول!