Undetected ChromeDriver für Web Scraping nutzen

Veröffentlicht:

3 Min. Lesezeit

PXNET
Autor: PXNET
Undetected ChromeDriver für Web Scraping

Undetected ChromeDriver ist eine angepasste Fassung des ChromeDrivers von Selenium. Sie ist darauf ausgelegt, von den üblichen Bot-Erkennungsdiensten nicht als Automatisierung eingestuft zu werden.

Was es ist

Undetected ChromeDriver ist eine Python-Bibliothek, die einen gepatchten ChromeDriver bereitstellt. Die Änderungen zielen auf die Merkmale, an denen Dienste wie Imperva, DataDome, Distil Networks und in Teilen auch Cloudflare eine Selenium-Sitzung erkennen.

Wie es arbeitet

  • Umbenannte Selenium-Variablen: Die Kennungen, die Selenium im Browser hinterlässt, bekommen Namen, wie sie ein gewöhnlicher Browser trägt.
  • Realistischer User-Agent: statt der Kennung, die eine Automatisierung sofort verrät.
  • Natürlicheres Verhalten: Bewegungs- und Zeitmuster, die weniger maschinell wirken.
  • Cookies und Sitzungen: werden über den Besuch hinweg korrekt geführt.
  • Proxy-Unterstützung: damit die Anfragen nicht alle von einer Adresse kommen.

Welche unserer Proxy-Produkte sich dafür eignen:

Einrichtung

bash
pip install undetected-chromedriver

Ein erstes Skript:

python
import undetected_chromedriver as uc

# start the browser
driver = uc.Chrome()

# open the target page
driver.get("https://example.com")

# ... read the data you need ...

driver.quit()

Über uc.ChromeOptions() stellen Sie den Browser ein, etwa für den Betrieb ohne Fenster:

python
import undetected_chromedriver as uc

options = uc.ChromeOptions()
options.add_argument("--headless=new")

driver = uc.Chrome(options=options)

Einen Proxy einbinden

python
import undetected_chromedriver as uc

options = uc.ChromeOptions()
options.add_argument("--proxy-server=http://PROXY_HOST:PORT")

driver = uc.Chrome(options=options)

Wo es an Grenzen stößt

Die Bibliothek umgeht viele Erkennungsverfahren, aber nicht alle, und sie bringt selbst keine Proxy-Rotation mit.

  • Einfache Prüfungen: hohe Erfolgsquote, die Sitzung verhält sich weitgehend wie ein Besuch von Hand.
  • Mittlere Prüfungen: Dienste wie Cloudflare greifen; zusätzlich braucht es Fingerabdruck-Anpassung und gepflegte Cookies.
  • Strenge Prüfungen: Verhaltensanalyse im Browser erkennt die Automatisierung häufig trotzdem. Hier lohnt sich der Blick auf andere Werkzeuge oder eine offizielle Schnittstelle.

Der Start dauert etwas länger als beim gewöhnlichen ChromeDriver — das ist der Preis der Patches und fällt bei längeren Läufen kaum ins Gewicht.

Praxisregeln

Adressen wechseln. Viele Anfragen von einer IP sind das deutlichste Signal überhaupt. Ein rotierender Residential-Proxy erledigt das im Dienst; mit einer eigenen Liste bauen Sie die Rotation nach unserer Anleitung Proxys in Python rotieren.

Den Fingerabdruck angleichen. Was der Browser über Schriften, Auflösung und Grafik verrät, ist für sich schon ein Erkennungsmerkmal. Bibliotheken wie selenium-stealth glätten das.

Cookies behalten. Eine Sitzung, die bei jedem Aufruf bei null beginnt, sieht nach Maschine aus. Speichern Sie die Cookies und laden Sie sie beim nächsten Lauf.

Headless mit Bedacht. Der fensterlose Betrieb ist bequem, wird aber von manchen Seiten selbst als Signal gewertet. Bei Problemen probeweise abschalten.

Nicht zu gleichmäßig arbeiten. Zufällige Pausen zwischen den Aufrufen und ein Ablauf, der nicht jedes Mal identisch ist, fallen weniger auf als ein exakt getakteter Durchlauf.

Fazit

Undetected ChromeDriver ist ein wirksames Werkzeug, aber keines, das jeden Fall löst. Erst zusammen mit wechselnden Adressen, angepasstem Fingerabdruck und ruhigem Zeitverhalten sinkt die Erkennungsrate deutlich.

Für anspruchsvollere Ziele lohnt ein Blick auf Playwright oder Puppeteer — oder auf eine offizielle API, wenn es eine gibt. Und unabhängig vom Werkzeug: Halten Sie sich an die Nutzungsbedingungen der Zielseite und an das geltende Recht.

ChatGPT fragenClaude fragen