
Praktische Übungen zur Verwendung von Selenium mit Proxy-IP zum Abfangen von Daten
Brüder in Crawler beschäftigt verstehen, jetzt die Website Anti-Climbing mehr und mehr streng. Vor kurzem trat ein E-Commerce-Freund mich und sagte, dass sie Selenium verwenden, um den Preis des Wettbewerbers zu fangen ist immer IP blockiert, ängstlich, direkt auf die Füße zu springen. In dieser Ausgabe werden wir nag, wie Python's reguläre Ausdrücke + Proxy-IP verwenden, um diesen Schmerzpunkt zu lösen.
Warum muss ich eine Proxy-IP verwenden?
Ein konkretes Beispiel: Eine E-Commerce-Plattform, die 20 Mal hintereinander von derselben IP-Adresse besucht wird, kommt direkt auf die schwarze Liste. Zu diesem Zeitpunkt, wenn SieDynamischer Wohnsitz-Proxy für ipipgoWenn Sie eine echte Person sind, können Sie nicht erkennen, ob es sich um eine echte Person oder eine Maschine handelt, da Sie Ihre IP-Adresse bei jeder Anfrage in eine andere Region ändern.
| Nehmen Sie | Ein Agent ist nicht erforderlich. | Proxy mit ipipgo |
|---|---|---|
| Anfragen pro Stunde | 50 Mal muss gesperrt werden | 1000+ mal stabil |
| Datenintegrität | Häufige Unterbrechungen | vollständige Erfassung |
Der eigentliche Code sieht folgendermaßen aus
Zunächst einmal verstehen, den Kern dreiteiligen Satz: Selenium Kontrolle Browser, reguläre Ausdrücke, um die Daten zu erwähnen, Proxy-IP zu halten sicher. Hier konzentrieren wir uns auf die Proxy-Konfiguration:
von selenium import webdriver
Proxy-Format für ipipgo account:password@ip:port
proxy = "vipuser:123456@45.76.89.12:8080"
Optionen = webdriver.ChromeOptions()
options.add_argument(f'--proxy-server=http://{proxy}')
Denken Sie daran, eine Ausnahmebehandlung hinzuzufügen! Manchmal kommt es zu einer Zeitüberschreitung des Proxys
try.
driver = webdriver.Chrome(options=options)
driver.get("https://目标网站.com")
except Exception as e.
print("Proxy-Verbindung ruckartig abgebrochen:", e)
Achten Sie auf Schlaglöcher:In vielen Anleitungen wird die Verwendung kostenloser Proxys empfohlen, was dazu führt, dass die IPs entweder ungültig oder langsam wie Schildkröten sind. Es wird empfohlen, direkt zu gehen zuBezahlte Pakete für ipipgoDie Reaktionszeit ihres dedizierten IP-Pools kann bis zu 200 ms oder weniger betragen.
Reguläre Ausdrücke
Nach Erhalt des Web-Quellcodes nutzt das Crawlen der Preisdaten diese Regelmäßigkeit:
Importware
Entspricht dem Format ¥12.34
preis_muster = r'¥(d+.d{2})'
preise = re.findall(preis_muster, seiten_quelle)
mit einem Komma von ¥ 1.234,56 auf dieses Schreiben gestoßen
advanced_pattern = r'¥((d+,)d+.d{2})'
Unterschätzen Sie diese Kommastellenübereinstimmung nicht, einige Websites fügen absichtlich den Preis derunsichtbarer CharakterEs ist an der Zeit, diesum Leerzeichen zu ignorieren: r'¥s(d+)s.s(d{2})'
Antworten auf hochfrequente Fragen
F: Warum Selenium ohne Anfragen verwenden?
A: Viele Website-Daten werden dynamisch geladen, JS-Anfragen können nicht die vollständigen Daten abrufen, Sie müssen den Browser verwenden, um die
F: Wie wählen die ipipgo-Agenten die Pakete aus?
A: Für Tests in kleinem Maßstabnach Volumen bezahlenLangfristige ProjektauswahlMaßgeschneiderte Pakete für UnternehmenDer technische Support hilft bei der Einstellung.
F: Was soll ich tun, wenn ich keinen Treffer landen kann?
A: Verwenden Sie zunächst print(page_source), um den tatsächlichen Inhalt zu sehen. Vertrauen Sie nicht auf die Augen, um die Seitenanzeige zu sehen, da es versteckte Tags im Quellcode geben kann.
Sagen Sie etwas, das von Herzen kommt.
Letztes Jahr habe ich einem Freund bei der Datenerfassung geholfen und das Projekt mit kostenlosen Proxys fast vermasselt. Dann wechselte ich zuGemischte Wählmittel für ipipgoDie Erfassungseffizienz wird mit ihrer IP-Rotation-API direkt verdreifacht. Vor allem zu tun, Preisüberwachung diese Art von Echtzeit-Anforderungen der hohen Arbeit, stabile Agent ist das Herzblut.
Ein letzter Ratschlag: Sparen Sie nicht an Proxys! Die Sperrung einer einzigen Nummer verursacht genug Schaden, um sechs Monate bezahlten Service zu kaufen. Verwenden Sie den Promo-Code jetzt!SELENIUM666Auf der ipipgo-Website erhalten Sie einen Rabatt von 10 %, und neue Benutzer können eine 3-tägige Testversion ausprobieren, also seien Sie nicht schüchtern, was Sie sammeln sollten.

