Skip to content
Beginner / 5 min read

So verwenden Sie ProxyScrape-Proxys mit Selenium unter Linux für Web Scraping (Einsteigerleitfaden)

Eine anfängerfreundliche Schritt-für-Schritt-Anleitung zur Konfiguration von ProxyScrape Residential-, Datacenter- oder Mobile-Proxys in Selenium unter Linux. Enthält HTTP- und SOCKS5-Einrichtung, Authentifizierungs-Workarounds und grundlegende Rotation für Web Scraping.

Linux SOCKS5 HTTP(S) Web Scraping

Überblick

Wenn Sie nach "proxy scape", "proxyscaper" oder "proxyscape" gesucht haben, suchen Sie wahrscheinlich ProxyScrape. Diese Anleitung verwendet die korrekte Schreibweise. ProxyScrape bietet Residential-, Datacenter- und Mobile-Proxys mit HTTP- und SOCKS5-Unterstützung, einen Pool von über 97 Mio. IPs sowie sowohl Pay-as-you-go- als auch monatliche Pauschalabrechnung.

In diesem Einsteiger-Tutorial richten Sie ProxyScrape-Proxys in Selenium unter Linux ein, um Webseiten zu scrapen. Wir behandeln HTTP und SOCKS5, Authentifizierung und grundlegende Rotation. Am Ende verfügen Sie über ein funktionierendes Selenium-Skript, das den Datenverkehr über einen ProxyScrape-Proxy leitet.

Voraussetzungen

  • Ein ProxyScrape-Konto (kostenlose Testversion oder kostenpflichtiger Plan).
  • Linux-System (getestet unter Ubuntu/Debian).
  • Python 3.6 oder höher.
  • pip-Paketmanager.
  • Google Chrome oder Firefox installiert.
  • Grundlegende Vertrautheit mit dem Terminal.

Schritte

  1. Rufen Sie Ihre ProxyScrape-Proxy-Anmeldedaten ab.

    Melden Sie sich bei Ihrem ProxyScrape-Dashboard an und navigieren Sie zu dem Proxy-Typ, den Sie verwenden möchten (Residential, Datacenter oder Mobile). Notieren Sie sich Folgendes:

    • Endpunkt: host:port
    • Benutzername und Passwort (falls Authentifizierung aktiviert ist)

    Für Web Scraping sind Residential-Proxys oft die zuverlässigsten, um Sperren zu vermeiden, während Datacenter-Proxys schneller und günstiger sind.

  2. Installieren Sie Selenium und WebDriver unter Linux.

    Installieren Sie das Selenium-Python-Paket:

    pip install selenium
    

    Installieren Sie ChromeDriver (für Chrome/Chromium):

    sudo apt update
    sudo apt install chromium-chromedriver
    

    Oder installieren Sie GeckoDriver (für Firefox):

    sudo apt install firefox-geckodriver
    

    Stellen Sie sicher, dass der Treiber in Ihrem PATH ist. Sie können dies mit which chromedriver überprüfen.

  3. Schreiben Sie ein einfaches Selenium-Skript mit einem ProxyScrape-HTTP-Proxy.

    Erstellen Sie eine Datei namens selenium_proxy.py und fügen Sie den folgenden Code hinzu. Ersetzen Sie die Platzhalter durch Ihre ProxyScrape-Anmeldedaten.

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    PROXY = "http://username:password@host:port"  # e.g., http://user123:[email protected]:8080
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Führen Sie das Skript aus:

    python selenium_proxy.py
    

    Sie sollten eine JSON-Antwort sehen, die eine IP-Adresse enthält, die sich von Ihrer eigenen unterscheidet. Wenn Ihre echte IP angezeigt wird, funktioniert der Proxy nicht ordnungsgemäß.

  4. Behandeln Sie die Proxy-Authentifizierung für HTTP-Proxys.

    Das --proxy-server-Flag von Chrome unterstützt kein Inline-Benutzername/Passwort für HTTP-Proxys. Die einfachste Lösung für Anfänger ist, Ihre IP im ProxyScrape-Dashboard auf die Whitelist zu setzen. Gehen Sie zu Ihren Proxy-Einstellungen und fügen Sie Ihre aktuelle öffentliche IP zur Whitelist hinzu, und entfernen Sie dann Benutzername/Passwort aus der Proxy-URL.

    Alternativ können Sie die Bibliothek selenium-wire verwenden, die authentifizierte Proxys unterstützt:

    pip install selenium-wire
    
    from seleniumwire import webdriver
    
    options = {
        'proxy': {
            'http': 'http://username:password@host:port',
            'https': 'https://username:password@host:port',
        }
    }
    driver = webdriver.Chrome(seleniumwire_options=options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    
  5. Verwenden Sie SOCKS5-Proxys mit Selenium.

    ProxyScrape unterstützt auch SOCKS5. Chrome kann SOCKS5 mit Inline-Authentifizierung verwenden:

    PROXY = "socks5://username:password@host:port"
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    

    Beachten Sie, dass Firefox möglicherweise eine zusätzliche Konfiguration für die SOCKS5-Authentifizierung erfordert.

  6. Fügen Sie eine einfache Proxy-Rotation hinzu.

    Für eine einfache Rotation führen Sie eine Liste von Proxys und wählen Sie zufällig einen für jede Browsersitzung aus. Die Residential-Proxys von ProxyScrape bieten oft einen rotierenden Endpunkt, aber Sie können auch manuell rotieren.

    import random
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    proxies = [
        "http://user:pass@host1:port",
        "http://user:pass@host2:port",
        # Add more proxies from your ProxyScrape list
    ]
    
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    Für Produktions-Scraping sollten Sie einen Proxy-Rotationsdienst oder eine Bibliothek wie selenium-wire mit benutzerdefinierter Middleware in Betracht ziehen.

  7. Testen Sie Ihr Scraping-Skript.

    Schreiben Sie einen einfachen Scraper, um eine Seite abzurufen und den Titel zu extrahieren:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    
    PROXY = "http://username:password@host:port"
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://example.com")
    print(driver.title)
    driver.quit()
    

    Wenn Sie den Seitentitel sehen, funktioniert Ihr Proxy.

Fehlerbehebung

  • chromedriver nicht gefunden: Stellen Sie sicher, dass der Treiber installiert und in Ihrem PATH ist. Verwenden Sie bei Bedarf export PATH=$PATH:/path/to/driver.
  • Proxy-Verbindung abgelehnt: Überprüfen Sie Ihre Anmeldedaten, den Endpunkt und die IP-Whitelist. Prüfen Sie, ob Ihr ProxyScrape-Plan aktiv ist.
  • Authentifizierungs-Popup in Chrome: Verwenden Sie IP-Whitelisting oder selenium-wire, um das Popup zu vermeiden.
  • Langsame Geschwindigkeiten: Versuchen Sie Datacenter-Proxys für schnellere Antworten oder reduzieren Sie die Anzahl gleichzeitiger Sitzungen.
  • SSL-Zertifikatsfehler: Fügen Sie --ignore-certificate-errors zu den Chrome-Optionen für Tests hinzu (nicht für die Produktion empfohlen).

Zusammenfassung

Sie haben gelernt, wie Sie ProxyScrape-Proxys mit Selenium unter Linux für Web Scraping verwenden. Wir haben das Abrufen von Anmeldedaten, die Installation von Selenium, das Einrichten von HTTP- und SOCKS5-Proxys, die Behandlung der Authentifizierung und die grundlegende Rotation behandelt. Denken Sie daran, die Nutzungsbedingungen der Website und robots.txt zu respektieren. Für fortgeschrittenere Setups erkunden Sie die rotierenden Endpunkte und Sitzungssteuerungsfunktionen von ProxyScrape.