
Wenn der Crawler die Schildkröten-Ladegeschwindigkeit erreicht, wie kann man die Proxy-IP speichern?
Do Crawl Brüder sollten diese verrückten Momente erlebt haben: Code läuft auf, die Ergebnisse sind in einer bestimmten Seite stecken nicht geladen wird. In dieser Zeit, wenn der Proxy-IP nicht mächtig ist, kann eine Minute machen die Menschen die Tastatur zerschlagen. Heute haben wir nicht ganz falsch, direkt auf die trockenen Waren zu sagen, wie man Python + Selenium mit Proxy-IP zu spielen smart warten.
von selenium import webdriver
von selenium.webdriver.common.proxy importieren Proxy, ProxyType
ipipgo-Proxy-Konfiguration (denken Sie daran, auf Ihr eigenes Konto zu wechseln)
proxy_ip = "123.123.123.123:8888"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': proxy_ip,
'sslProxy': proxy_ip
})
Optionen = webdriver.ChromeOptions()
options.add_argument("--proxy-server=http://{}".format(proxy_ip))
Ein praktischer Leitfaden zu den drei Arten des Wartens
Unterschätzen Sie diese drei Brüder nicht, nutzen Sie sie nicht falsch und überschlagen Sie sich nicht:
1. die Fraktion, die auf den Tod wartet(time.sleep): einfach und grob, aber leicht zu umgehen, geeignet für die Verwendung mit Proxy-Erkennung. Zum Beispiel, wenn ipipgo's Proxy in Kraft ist, warten Sie 3 Sekunden, um die Sicherheit zu gewährleisten.
2. explizit et cetera(WebDriverWait): Es wird empfohlen, mit Proxy-IP-Rotation zu verwenden und die IP nach mehr als 10 Sekunden direkt abzuschalten.
3. implizit et al.(implicitly_wait): Neulinge neigen dazu, auf Schlaglöcher zu treten, seien Sie vorsichtig, wenn das Netz instabil ist!
| Wartender Typ | Anwendbare Szenarien | Empfohlene Dauer |
|---|---|---|
| Wartepflicht | Proxy IP Erste Verbindung | 3-5 Sekunden |
| ausdrückliches Warten | Laden des Schlüsselelements | In 15 Sekunden. |
Smart Waiting Black Technologie
Haben Sie schon einmal versucht, die Wartezeit beim Wechsel der Proxy-IPs automatisch anzupassen? Wenn Sie z. B. den Dynamic Residential Proxy von ipipgo verwenden, können Sie auf diese Weise damit spielen:
def smart_wait(driver, element_id).
versuchen.
Zunächst 8 Sekunden warten
WebDriverWait(driver, 8).until(
EC.presence_of_element_located((By.ID, element_id))
)
except.
Zeitüberschreitung, um die IP von ipipgo automatisch zu ändern
driver.proxy = get_new_ipipgo_proxy()
Verlängern Sie die Wartezeit auf 15 Sekunden
WebDriverWait(driver, 15).until(
EC.presence_of_element_located((By.ID, element_id))
)
Gemeinsame Rollover-Szene QA
F: Was sollte ich tun, wenn ich eine Proxy-IP verwende, die langsamer lädt?
A: achtzig Prozent der IP-Qualität ist nicht gut, ist es empfehlenswert, ipipgo exklusive Proxy ändern. Bevor ein Kumpel in der E-Commerce-Website, um Daten zu greifen, nach der Änderung der ipipgo IP Ladegeschwindigkeit direkt dreimal schneller!
F: Wie kann ich feststellen, ob es sich um ein Problem mit der Anti-Climbing- oder Proxy-IP der Website handelt?
A: Schalten Sie zuerst den Proxy aus, um einmal zu laufen, wenn normal ist das Problem der IP. Denken Sie daran, ipipgo Volumen Abrechnung IP verwenden, nach dem Test und dann Großeinkauf ohne Abfall!
F: Was kann ich tun, wenn die Seite nach der Hälfte des Ladevorgangs stecken bleibt?
A: Versuchen Sie eine Kombination! Explizites Warten + Proxy-IP-Auto-Switching, fügen Sie ein try-except in den Code ein, Timeout wird ipipgos neue IP ändern und erneut versuchen!
Eine doppelte Versicherung für den Code
Zum Schluss möchte ich Ihnen noch einen Trick zeigen, wie Sie die Proxy-IP-Erkennung und die Warteschleifen-Richtlinie im Paket nutzen können:
def safe_get(url): max_retry = 3
max_wiederholung = 3
for _ in range(max_retry):: _ in range(max_retry).
try: driver.get(url).
driver.get(url)
Kerninhalt warten
WebDriverWait(driver, 15).until(
EC.presence_of_element_located((By.TAG_NAME, 'main'))
)
return True
außer.
Automatisch die IP von ipipgo ändern
rotate_ipipgo_proxy()
raise Exception("Konnte 3 Mal hintereinander nicht laden, Proxy-Konfiguration prüfen")
Denken Sie daran, dass ein gutes Pferd mit einem guten Sattel und einer stabilen Proxy-IP die Wurzel für intelligentes Warten ist. Wenn Sie den Proxy-Dienst von ipipgo nutzen, sollten Sie dieAutomatisierte GesundheitskontrollenMit dieser Funktion wird das System automatisch instabile IPs ausschließen, so dass Ihre Wartestrategie wirklich funktioniert. Quälen Sie sich nicht mehr mit diesen kostenlosen Proxys, zuverlässige Proxy-IPs können Ihre Wartezeit Einstellung Genauigkeit von mindestens 60% verbessern!

