NEU! |Ein API-Call, saubere Daten zurück. Keine Scraper nötig.10.000 Tokens gratis →

Selenium Python (4). Selenium mit Python und Proxies verwenden

Entdecken Sie die Kraft von Selenium mit Python und nutzen Sie Proxys für effizientes Web-Scraping und Automatisierung. Steigern Sie Ihre Datenerfassung mit den preisgünstigen Proxy-Servern von FineProxy.

Veröffentlicht4. Juni 2024
Lesezeit2 Min.

Bei der Arbeit mit Web-Scraping oder Automatisierung mit Selenium und Python können Proxies essentiell sein, um IP-Sperren zu vermeiden und Ihre Datenerfassungseffizienz zu verbessern. Dieser Artikel führt Sie durch die Einrichtung und Verwendung von Proxies in Selenium mit Python.

Was ist Selenium und warum Proxies verwenden?#

Selenium ist ein leistungsstarkes Tool zur Automatisierung von Webbrowsern, das häufig für Web-Scraping und zum Testen von Webanwendungen verwendet wird. Proxys sind Zwischenserver, die Endbereiche von den von ihnen besuchten Websites trennen und dabei helfen, IP-Adressen zu maskieren und Anfragemengen zu verwalten.

Selenium mit Proxies konfigurieren#

Bevor Sie mit dem Code beginnen, stellen Sie sicher, dass Sie die erforderlichen Tools installiert haben:

  • Python
  • Selenium (pip install selenium)
  • Ein Web-Browser-Treiber (z. B. ChromeDriver für Chrome oder GeckoDriver für Firefox)

Schritt-für-Schritt-Anleitung zum Verwenden von Proxies in Selenium#

1. Chrome mit einem Proxy konfigurieren#

Um Chrome für die Nutzung eines Proxy-Servers zu konfigurieren, müssen Sie die gewünschten Funktionen in Selenium einrichten.

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 mit Authentifizierung#

Wenn Ihr Proxy eine Authentifizierung erfordert, können Sie die Proxy Klasse aus 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 mit einem Proxy verwenden#

Um Firefox für die Nutzung eines Proxies zu konfigurieren, ändern Sie die Firefox-Profileinstellungen.

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()

Behebung häufiger Probleme#

Proxy-Authentifizierung: Wenn Ihr Proxy einen Login erfordert, stellen Sie sicher, dass die Anmeldedaten korrekt eingestellt sind.

IP-Blockierung: Einige Websites können Proxys weiterhin blockieren. Verwenden Sie Residential-Proxys oder rotierende Proxys, um dieses Problem zu beheben.

Zusammenfassung#

Die Verwendung von Proxys mit Selenium und Python kann Ihnen dabei helfen, IP-Beschränkungen zu umgehen und Ihre Web-Scraping-Projekte zu verbessern. Ob Sie Chrome oder Firefox verwenden – das Setup von Proxys umfasst die Konfiguration der Browser-Optionen und Funktionen, um Traffic über den Proxy-Server zu leiten.

BrowserEinrichtungsmethodeAuthentifizierungCode-Snippet verfügbar
ChromeChromeOptionsJaJa
FirefoxFirefoxProfileJaJa

Wenn Sie diese Schritte befolgen, stellen Sie sicher, dass Ihre Scraping-Aktivitäten unterbrechungsfrei und effizient ablaufen. Falls Sie Fragen oder Ideen für zukünftige Tutorials haben, hinterlassen Sie gerne einen Kommentar!