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.
Ü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
-
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.
- Endpunkt:
-
Installieren Sie Selenium und WebDriver unter Linux.
Installieren Sie das Selenium-Python-Paket:
pip install seleniumInstallieren Sie ChromeDriver (für Chrome/Chromium):
sudo apt update sudo apt install chromium-chromedriverOder installieren Sie GeckoDriver (für Firefox):
sudo apt install firefox-geckodriverStellen Sie sicher, dass der Treiber in Ihrem PATH ist. Sie können dies mit
which chromedriverüberprüfen. -
Schreiben Sie ein einfaches Selenium-Skript mit einem ProxyScrape-HTTP-Proxy.
Erstellen Sie eine Datei namens
selenium_proxy.pyund 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.pySie 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äß.
-
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-wireverwenden, die authentifizierte Proxys unterstützt:pip install selenium-wirefrom 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() -
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.
-
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-wiremit benutzerdefinierter Middleware in Betracht ziehen. -
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
chromedrivernicht gefunden: Stellen Sie sicher, dass der Treiber installiert und in Ihrem PATH ist. Verwenden Sie bei Bedarfexport 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-errorszu 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.