Skip to content
Intermediate / 5 min read

Wie man Dataimpulse Residential-Proxies mit Selenium unter Windows für Web Scraping verwendet

Eine Schritt-für-Schritt-Anleitung zur Integration von Dataimpulse Residential-Proxies mit Selenium unter Windows, einschließlich authentifizierter HTTP-Proxy-Einrichtung und Rotation für zuverlässiges Web Scraping.

Windows HTTP(S) Web Scraping

Überblick

Dataimpulse ist ein kosteneffizienter Anbieter von Residential-Proxies mit einem Pool von über 90 Millionen IPs, optimiert für Web Scraping mit hohem Volumen. Selenium ist ein beliebtes Browser-Automatisierungstool, das JavaScript rendern und mit dynamischen Websites interagieren kann. Die Kombination von Selenium mit Residential-Proxies ermöglicht es Ihnen, in großem Umfang zu scrapen, während Sie IP-Bans und Geo-Beschränkungen vermeiden.

In diesem Tutorial erfahren Sie, wie Sie Selenium unter Windows konfigurieren, um Datenverkehr über Dataimpulse Residential-Proxies mittels HTTP zu leiten, einschließlich der Handhabung der Proxy-Authentifizierung. Am Ende verfügen Sie über ein funktionierendes Skript, das eine Testseite scrapt und die Proxy-IP überprüft.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein Dataimpulse-Konto mit aktivierten Residential-Proxies (Pay-as-you-go-Abrechnung).
  • Python 3.7 oder höher unter Windows installiert.
  • Google Chrome oder Mozilla Firefox installiert.
  • Grundlegende Vertrautheit mit Python und der Kommandozeile.

Schritte

1. Rufen Sie Ihre Dataimpulse-Proxy-Anmeldedaten ab

Melden Sie sich bei Ihrem Dataimpulse-Dashboard an und navigieren Sie zum Abschnitt für Residential-Proxies. Sie benötigen:

  • Proxy-Host (z. B. gateway.dataimpulse.com — prüfen Sie Ihr Dashboard auf den genauen Hostnamen)
  • Proxy-Port (z. B. 823)
  • Benutzername und Passwort zur Authentifizierung

Dataimpulse unterstützt sowohl HTTP- als auch SOCKS5-Protokolle. Dieses Tutorial verwendet HTTP, das direkt mit Selenium kompatibel ist. Notieren Sie sich die Anmeldedaten; Sie werden sie im Skript verwenden.

2. Richten Sie eine virtuelle Python-Umgebung ein

Öffnen Sie die Eingabeaufforderung oder PowerShell und erstellen Sie eine virtuelle Umgebung, um Abhängigkeiten isoliert zu halten:

python -m venv dataimpulse-selenium
dataimpulse-selenium\Scripts\activate

3. Installieren Sie Selenium und Selenium-Wire

Selenium-Wire erweitert Selenium, um authentifizierte Proxies zu unterstützen. Installieren Sie beide Pakete:

pip install selenium selenium-wire

4. Schreiben Sie das Selenium-Skript mit Proxy-Authentifizierung

Erstellen Sie eine neue Datei namens scrape_with_dataimpulse.py und fügen Sie den folgenden Code ein. Ersetzen Sie die Platzhalterwerte durch Ihre Dataimpulse-Anmeldedaten.

from seleniumwire import webdriver
from selenium.webdriver.chrome.options import Options
import time

# Dataimpulse-Proxy-Anmeldedaten
proxy_host = "your_proxy_host"  # z. B. gateway.dataimpulse.com
proxy_port = "your_proxy_port"  # z. B. 823
proxy_username = "your_username"
proxy_password = "your_password"

# Chrome-Optionen konfigurieren
chrome_options = Options()
chrome_options.add_argument("--headless")  # Im Headless-Modus ausführen (optional)
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# Selenium-Wire-Proxy mit Authentifizierung einrichten
seleniumwire_options = {
    "proxy": {
        "http": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "https": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "no_proxy": "localhost,127.0.0.1"
    },
}

# Treiber initialisieren
driver = webdriver.Chrome(
    options=chrome_options,
    seleniumwire_options=seleniumwire_options
)

try:
    # Zu einer Seite navigieren, die Ihre IP anzeigt
    driver.get("http://httpbin.org/ip")
    time.sleep(3)  # Auf das Laden der Seite warten

    # IP-Adresse extrahieren und ausgeben
    body = driver.find_element("tag name", "body").text
    print("Proxy-IP-Antwort:", body)
finally:
    driver.quit()

Erklärung:

  • seleniumwire_options konfiguriert den Proxy für HTTP- und HTTPS-Datenverkehr.
  • Die Proxy-URL enthält den Benutzernamen und das Passwort zur Authentifizierung.
  • Das Skript besucht http://httpbin.org/ip, um die vom Zielserver gesehene IP-Adresse anzuzeigen.

5. Führen Sie den Proxy aus und überprüfen Sie ihn

Führen Sie das Skript aus Ihrer aktivierten virtuellen Umgebung aus:

python scrape_with_dataimpulse.py

Bei Erfolg sehen Sie eine Ausgabe ähnlich wie:

{
  "origin": "203.0.113.45"
}

Die angezeigte IP sollte eine Dataimpulse Residential-IP sein, nicht Ihre lokale IP. Sie können dies überprüfen, indem Sie sie mit Ihrer tatsächlichen IP von einem Dienst wie whatismyip.com vergleichen.

6. (Optional) Proxies für groß angelegtes Scraping rotieren

Dataimpulse Residential-Proxies unterstützen die Rotation durch Ändern der Sitzungskennung oder Verwendung unterschiedlicher Ports. Mit Selenium-Wire können Sie für jede Rotation eine neue Treiberinstanz erstellen oder die Rotationsparameter von Dataimpulse verwenden, falls verfügbar (konsultieren Sie Ihr Dashboard). Um beispielsweise pro Anfrage zu rotieren, könnten Sie eine Sitzungs-ID an den Benutzernamen anhängen (z. B. username-session-123). Prüfen Sie die Dataimpulse-Dokumentation für die genaue Rotationssyntax.

Ein einfaches Rotationsmuster besteht darin, für jede Zielseite einen neuen Treiber zu instanziieren:

def scrape_with_rotation(url):
    # Verwenden Sie eine eindeutige Sitzungs-ID pro Anfrage, falls unterstützt
    session_id = str(uuid.uuid4())[:8]
    username_with_session = f"{proxy_username}-session-{session_id}"
    # ... Proxy mit username_with_session konfigurieren ...
    driver = webdriver.Chrome(...)
    driver.get(url)
    # ... scrapen ...
    driver.quit()

Fehlerbehebung

  • Authentifizierungsfehler: Stellen Sie sicher, dass Ihr Benutzername und Ihr Passwort korrekt sind. Wenn Sie Sonderzeichen verwenden, kodieren Sie sie URL-konform.
  • Proxy-Verbindung verweigert: Überprüfen Sie Proxy-Host und -Port in Ihrem Dataimpulse-Dashboard. Prüfen Sie, ob Ihre IP auf der Whitelist steht, wenn Sie IP-Authentifizierung verwenden (hier nicht behandelt).
  • WebDriver nicht gefunden: Laden Sie den entsprechenden WebDriver herunter (z. B. ChromeDriver) und stellen Sie sicher, dass er sich in Ihrem PATH befindet.
  • Langsame Leistung: Residential-Proxies können langsamer sein als Datacenter-Proxies. Reduzieren Sie die Parallelität oder verwenden Sie den Headless-Modus, um die Geschwindigkeit zu erhöhen.
  • SSL-Fehler: Wenn SSL-Zertifikatsprobleme auftreten, fügen Sie chrome_options.add_argument("--ignore-certificate-errors") zum Testen hinzu.

Zusammenfassung

Sie haben gelernt, wie Sie Dataimpulse Residential-Proxies mit Selenium unter Windows integrieren. Durch die Verwendung von Selenium-Wire können Sie die Proxy-Authentifizierung nahtlos handhaben und Browser-Datenverkehr über den IP-Pool von Dataimpulse mit über 90 Mio. IPs leiten. Dieses Setup ist ideal für Web Scraping mit hohem Volumen, da das Pay-as-you-go-Modell von Dataimpulse die Kosten planbar hält. Denken Sie daran, Proxies zu rotieren und die Nutzungsbedingungen der Websites zu respektieren.