جديد! |استدعاء API واحد وبيانات نظيفة. بلا حاجة لأدوات استخراج.← احصل على 10,000 توكن مجاني

Selenium Python (4). كيفية استخدام Selenium مع Python والـ Proxies

اكتشف قوة Selenium مع Python واستخدم الوكلاء لكشط الويب والأتمتة بكفاءة. عزز جمع البيانات الخاصة بك بخوادم الوكيل الميسورة من FineProxy.

نُشر4 يونيو 2024
مدة القراءة2 دقيقة
الكاتبBrandon Perry

عند العمل مع جمع البيانات من الويب أو الأتمتة باستخدام Selenium و Python، يمكن أن يكون استخدام الوكلاء ضروريًا لتجنب حظر IP وتحسين كفاءة جمع البيانات. ستوجهك هذه المقالة خلال إعداد واستخدام الوكلاء في Selenium مع Python.

ما هو Selenium ولماذا استخدام الوكلاء؟#

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

إعداد Selenium مع الوكلاء#

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

  • Python
  • Selenium (pip install selenium)
  • برنامج تشغيل متصفح ويب (على سبيل المثال، ChromeDriver لـ Chrome أو GeckoDriver لـ Firefox)

دليل خطوة بخطوة لاستخدام الوكلاء في Selenium#

1. إعداد Chrome مع وكيل#

لتكوين Chrome لاستخدام خادم وكيل، تحتاج إلى إعداد الإمكانيات المطلوبة في Selenium.

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: قد تحظر بعض المواقع الويب الوكلاء. استخدم وكلاء سكنية أو متناوبة للتخفيف من هذه المشكلة.

ملخص#

يمكن لاستخدام الوكلاء مع Selenium و Python أن يساعدك على تجاوز قيود IP وتعزيز مشاريع web scraping الخاصة بك. سواء كان استخدامك Chrome أو Firefox، فإن إعداد الوكلاء ينطوي على تكوين خيارات المتصفح والإمكانيات لتوجيه حركة المرور عبر خادم الوكيل.

المتصفحطريقة الإعدادالمصادقةمقتطف الكود متاح
Chromeخيارات Chromeنعمنعم
Firefoxملف Firefoxنعمنعم

باتباع هذه الخطوات، يمكنك التأكد من أن أنشطة التجريف الخاصة بك تظل فعالة دون انقطاع. إذا كان لديك أي أسئلة أو أفكار للدروس المستقبلية، فلا تتردد في ترك تعليق!