So verwenden Sie ProxyScrape Residential-Proxies für Web Scraping in Python
Eine Schritt-für-Schritt-Anleitung zur Integration von ProxyScrapes Residential- und Datacenter-Proxies in Ihre Python-Web-Scraping-Skripte unter Verwendung der Protokolle HTTP und SOCKS5.
Überblick
ProxyScrape bietet Residential-, Datacenter- und Mobile-Proxies mit HTTP- und SOCKS5-Unterstützung, gestützt auf einen Pool von über 97 Mio. IPs. Dieses Tutorial zeigt, wie Sie ProxyScrape-Proxies in Python für Web-Scraping-Aufgaben verwenden. Sie lernen, Anfragen sowohl mit HTTP als auch SOCKS5 zu konfigurieren, die Authentifizierung zu handhaben und Proxies zu rotieren. Die Schritte gelten für jeden Proxy-Anbieter, aber wir verwenden ProxyScrape als Beispiel aufgrund seiner zuverlässigen Verfügbarkeit und langfristigen Stabilität.
Schritte
-
Rufen Sie Proxy-Zugangsdaten von ProxyScrape ab. Melden Sie sich in Ihrem ProxyScrape-Dashboard an und navigieren Sie zum Proxy-Liste- oder API-Bereich. Dort finden Sie den Proxy-Endpunkt (IP:Port), den Benutzernamen und das Passwort. ProxyScrape bietet Pay-as-you-go-Abrechnungspläne und monatliche Flatrate-Abrechnungspläne an, wählen Sie also denjenigen, der zu Ihrem Scraping-Volumen passt.
-
Installieren Sie die erforderlichen Python-Bibliotheken. Öffnen Sie Ihr Terminal und installieren Sie
requestsundrequests[socks]für SOCKS5-Unterstützung:pip install requests requests[socks] -
Schreiben Sie ein einfaches Scraping-Skript mit HTTP-Proxies. Erstellen Sie eine Python-Datei und verwenden Sie den folgenden Code, um Anfragen über den HTTP-Proxy von ProxyScrape zu senden. Ersetzen Sie die Platzhalter durch Ihre tatsächlichen Zugangsdaten.
import requests proxy_url = "http://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Verwenden Sie SOCKS5-Proxies für bessere Anonymität. ProxyScrape unterstützt SOCKS5. Ändern Sie das Proxy-URL-Schema in
socks5://:import requests proxy_url = "socks5://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Rotieren Sie Proxies, um Rate-Limits zu vermeiden. Wenn Ihr ProxyScrape-Tarif einen rotierenden Endpunkt bietet, verwenden Sie diesen Endpunkt für jede Anfrage. Andernfalls pflegen Sie eine Liste von Proxy-Endpunkten aus Ihrem Dashboard und wechseln Sie diese durch. Beispiel:
import requests import random proxy_list = [ "http://user:pass@proxy1:port", "http://user:pass@proxy2:port", # ... add more ] def get_random_proxy(): return random.choice(proxy_list) for _ in range(10): proxy_url = get_random_proxy() proxies = {"http": proxy_url, "https": proxy_url} try: response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) except Exception as e: print(f"Proxy failed: {e}") -
Behandeln Sie Fehler und Wiederholungsversuche. Proxy-Verbindungen können fehlschlagen. Fassen Sie Ihre Anfragen in try/except-Blöcke ein und implementieren Sie einen Wiederholungsmechanismus mit einem neuen Proxy bei Fehlschlag. Dadurch bleibt Ihr Scraper robust.
-
Testen und skalieren Sie. Führen Sie Ihr Skript aus und überprüfen Sie, dass sich die IP bei jeder Anfrage ändert. Für Scraping im großen Maßstab sollten Sie ein Session-Objekt verwenden und die Parallelität basierend auf den Limits Ihres ProxyScrape-Tarifs anpassen.
Hinweis: Respektieren Sie stets die Nutzungsbedingungen der Website und robots.txt. ProxyScrapes Residential- und Datacenter-Proxies sind zuverlässig, aber ethische Scraping-Praktiken liegen in Ihrer Verantwortung.