
Wenn der Crawler trifft Selenium: kann nicht um die IP-Beschränkungen des Problems zu bekommen
Alte Hasen, die schon einmal Web-Crawling gemacht haben, wissen, dass die Automatisierung des Browsers mit Selenium bequem ist, aber es gibt ein Problem - dieDie IP ist so blockiert, dass Sie nicht einmal Ihre eigene Mutter kennen.Als Erstes müssen Sie die Website zum Laufen bringen. Vor allem, wenn Sie eine große Anzahl von Websites besuchen müssen, ist eine einzelne IP eine Gratwanderung und kann jederzeit blockiert werden. Dieses Mal müssen wir unseren Retter hervorholen: den Proxy-IP-Dienst.
Letzte Woche beschwerte sich ein Freund einer Preisvergleichs-Website bei mir, dass sie Selenium zum Sammeln von E-Commerce-Daten verwendet haben, und als Ergebnis wurden sie ständig für mehr als 10 IPs gesperrt. Später wechselten sie zu einer rotierenden Proxy-IP-Lösung, mit dem dynamischen Wohn-Proxy von ipipgo stieg die Erfolgsrate beim Sammeln direkt von 30% auf 95%. Was bedeutet das? Die Wahl des richtigen Proxy-Dienstes kann Ihnen wirklich das Leben retten!
Praktische Erfahrung mit der Selenium-Weste
Die Einrichtung eines Proxys im Browser ist eigentlich sehr einfach, und es geht darum, dassKonfiguriert für verschiedene BrowsertypenAls Beispiel wird der am häufigsten verwendete Chrome verwendet. Hier ist ein Beispiel für den am häufigsten verwendeten Chrome:
von selenium import webdriver
proxy = "proxy.ipipgo.com:8000" Verwenden Sie hier die Proxy-Adresse von ipipgo.
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server=http://{proxy}')
Denken Sie daran, den Pfad des lokalen Browsertreibers zu ändern
driver = webdriver.Chrome(options=chrome_options)
driver.get("http://example.com")
Achten Sie auf drei einfache Überschläge:
- Keine Protokoll-Header für Proxy-Adressen schreiben (http://要放在参数里)
- Wenn es sich um einen https-Proxy handelt, müssen Sie ein zusätzliches Authentifizierungs-Plugin konfigurieren
- Vergessen Sie nicht, das ipipgo backstage zu gebenIP auf der WhitelistFügen Sie es im Voraus hinzu.
Die Vier-Diamanten-Konfigurationsmethode für Proxy-IPs
| Nehmen Sie | Konfiguration | Anmeldung |
|---|---|---|
| einziges Mandat | Code-Hardcoding | Die Testumgebung verwendet |
| laufen. | Lesen der Konfigurationsdatei | Wesentlich für formale Umgebungen |
| dynamische Umschaltung | API-Echtzeit-Zugang | Hochversteck-Szene |
| verteilte Bereitstellung | Agentenpool-Planung | Cluster Crawler |
Konzentrieren Sie sich hier auf die Lösung des dynamischen Wechsels. Verwenden Sie die API von ipipgo, um den neuesten Proxy zu erhalten, und ändern Sie die IP jedes Mal, wenn Sie eine neue Browserinstanz öffnen, so dass sogar die Cookies für Sie aktualisiert werden:
Einfuhrgesuche
def get_proxy(): resp = requests.get("")
resp = requests.get("https://api.ipipgo.com/proxy-pool")
return resp.json()['proxy']
Praktischer Leitfaden zur Vermeidung der Grube
Fünf häufige Fehler, die Neulinge machen:
- zu denken, dass die Einrichtung eines Proxys alles ist, was zählt (man muss die IP tatsächlich testen, um zu sehen, ob sie funktioniert)
- Zeitüberschreitung des Agenten nicht verarbeitet (15 Sekunden Zeitüberschreitung empfohlen)
- Vergessen, Browser-Fingerabdrücke zu entfernen (mit ipipgo)Wohnungsvermittler(mehr Versicherung)
- Doppelte Anmeldekonten mit der gleichen IP (gelöst mit Proxy-Pool-Umleitung)
- Keine Überwachung der IP-Verfügbarkeit (stündliche Überprüfung des Proxy-Pool-Status wird empfohlen)
Häufig gestellte Fragen QA
F: Ich kann nicht auf die Webseite zugreifen, obwohl der Proxy erfolgreich eingestellt ist?
A: Prüfen Sie zunächst, ob die IP in der ipipgo-Konsole aktiviert ist, und verwenden Sie dann diedriver.get("http://ip.ipipgo.com")Überprüfen Sie die tatsächliche Egress-IP
F: Sind für den Headless-Modus besondere Einstellungen erforderlich?
A: Die Konfigurationsmethode ist genau dieselbe, aber es wird empfohlen, dieKein Trace-ModusVermeiden von Cache-Störungen
F: Was sollte ich tun, wenn ich auf eine Website stoße, die eine menschliche Überprüfung verlangt?
A: In diesem Fall ist es empfehlenswert, ipipgo'sHochwertige Serverraum-Agentenoder die Häufigkeit des Erwerbs zu verringern
Das Tor zur Wahl der Agenturleistungen
Es gibt alle möglichen Arten von Vermittlungsdiensten auf dem Markt, aber es gibt drei unumstößliche Regeln:
- Suchen Sie nach Protokollunterstützung (SOCKS5/HTTP muss vollständig sein)
- Messung der Reaktionszeit (vorzugsweise weniger als 200 ms)
- IP-Reinheit prüfen (Empfehlung: ipipgo)Business-Class-Agenten)
Ein letzter Hinweis: Wenn Sie mit Selenium+proxy sammeln, denken Sie daran, dieBrowser-Spracheim Gesang antwortenZeitzoneneinstellungAbgestimmt auf die Region der Proxy-IP, so dass der Anti-Climbing-Mechanismus schwieriger zu identifizieren ist. Dieses Detail ist vielen Menschen nicht bekannt, aber der tatsächliche Test kann die Wahrscheinlichkeit eines 30%-Verbots verringern.

