DealMonitor Logo
Back to Blog
v0.12: HTTP-First Scraping und das Ende der Selenium-Abhängigkeit

v0.12: HTTP-First Scraping und das Ende der Selenium-Abhängigkeit

·by DealMonitor Team·5 Min. Lesezeit
releasescrapingperformanceflights

Monatelang hat DealMonitor stark auf Headless-Chrome-Browser gesetzt, um Preise aus Online-Shops zu extrahieren. Das funktionierte, war aber langsam, ressourcenhungrig und zunehmend fragil, weil immer mehr Shops Bot-Erkennung einsetzen. Mit v0.12 überdenken wir grundlegend, wie wir Preise abrufen. Die neue HTTP-First-Pipeline liefert Ergebnisse in Millisekunden statt Sekunden, und Headless-Browser starten nur noch, wenn sie wirklich benötigt werden.

Warum HTTP-First?

Für jeden Preischeck eine Headless-Chrome-Instanz zu starten, ist wie mit dem LKW zum Bäcker zu fahren. Die meisten Shops liefern ihre Produktseiten als einfaches HTML aus, mit Preisen direkt im Markup oder in strukturierten Daten. Eine einfache HTTP-Anfrage reicht, um alles Nötige zu bekommen.

Das Problem waren nie die Shops selbst. Es war die Bot-Erkennung. Dienste wie Cloudflare analysieren eingehende Anfragen auf TLS-Ebene und prüfen, ob die Verbindung von einem echten Browser oder einem Skript stammt. Ein normaler Python-HTTP-Client fällt bei dieser Prüfung sofort durch, weil sein TLS-Fingerprint nicht wie Chrome aussieht.

Hier kommt curl_cffi ins Spiel.

Chrome-TLS-Fingerprint-Impersonation

Jeder Browser hinterlässt während des TLS-Handshakes einen einzigartigen Fingerprint: die unterstützten Cipher-Suites, die Reihenfolge ihrer Präsentation, die verhandelten Extensions. Cloudflare und ähnliche Dienste pflegen eine Datenbank bekannter Browser-Fingerprints. Wenn deine Verbindung keinem entspricht, wirst du blockiert.

curl_cffi ist eine Python-Bibliothek, die libcurl mit der Fähigkeit erweitert, bestimmte Browser-Versionen auf TLS-Ebene nachzuahmen. Wenn DealMonitor eine HTTP-Anfrage über curl_cffi sendet, ist die Verbindung für den empfangenden Server nicht von einem echten Chrome-Browser zu unterscheiden. Die Cipher-Suites, die ALPN-Protokolle, die TLS-Extensions sind exakt das, was Chrome senden würde.

Das bedeutet, dass wir jetzt Seiten von Cloudflare-geschützten Shops abrufen können, ohne einen Browser zu starten. Die Anfrage ist in unter einer Sekunde abgeschlossen, statt der 5-15 Sekunden, die eine Selenium-Session braucht.

Die Pipeline in Aktion

So funktioniert die neue Scrape-Pipeline bei jedem Preischeck:

  1. HTTP-Versuch zuerst: Wir senden eine Anfrage über curl_cffi mit einem Chrome-TLS-Fingerprint. Wenn der Shop eine gültige HTML-Seite mit erkennbaren Preisen zurückgibt, sind wir fertig. Kein Browser nötig.
  2. Intelligente Header-Rotation: Jede Anfrage verwendet Header, die zum Ziel-Shop passen. User-Agent, Referer und Accept-Language-Header werden rotiert und für die Domain und das Land des Shops lokalisiert. Ein deutscher Shop bekommt deutsche Header; ein US-Shop bekommt amerikanisches Englisch.
  3. Selenium-Fallback: Wenn die HTTP-Antwort auf eine Challenge-Seite oder JavaScript-gerenderten Inhalt hindeutet, den wir nicht statisch parsen können, übernimmt im Hintergrund eine Headless-Chrome-Session.

Das Ergebnis ist beeindruckend. In unseren Tests werden etwa 70% aller Shops jetzt allein per HTTP aufgelöst. Das bedeutet schnellere Ergebnisse für dich und deutlich reduzierte Serverlast für uns.

Shop-Scrape-Modus-Lernen

Das System merkt sich, was funktioniert. Nach fünf aufeinanderfolgenden erfolgreichen HTTP-Only-Scrapes für eine Shop-Domain wird dieser Shop automatisch als HTTP-Only markiert. Zukünftige Checks überspringen den Selenium-Fallback komplett und sparen noch mehr Ressourcen. Wenn ein HTTP-Only-Shop später eine Challenge-Seite zurückgibt, setzt das System zurück und versucht Selenium erneut.

Dieses adaptive Verhalten bedeutet, dass die Pipeline mit der Zeit klüger wird, ohne manuelle Konfiguration.

Flugpreis-Tracking

v0.12 führt auch etwas ein, das unsere Nutzer seit dem ersten Tag wünschen: Flugpreis-Tracking. Flug- und Reisebuchungsseiten gehören zu den aggressivsten geschützten Websites im Internet. Scraping ist dort selbst mit Headless-Browsern praktisch unmöglich. Stattdessen haben wir den API-Ansatz gewählt.

DealMonitor integriert jetzt die Amadeus- und Kiwi.com-Flug-APIs. Hinweis: Flug-Tracking ist derzeit experimentell — Flugpreise sind extrem volatil und die API-Verfügbarkeit kann sich ändern. Wenn du eine URL von Expedia, Google Flights, Kayak, Skyscanner oder Momondo hinzufügst, extrahieren wir die Routen- und Datumsparameter und fragen die zugrundeliegende API direkt ab. Das liefert uns zuverlässige Echtzeit-Preise, ohne die Website zu berühren.

Flugpreise sind notorisch volatil und ändern sich mehrmals täglich. Mit API-basiertem Tracking können wir die Preise viel häufiger prüfen als es unser Standard-12-Stunden-Scrape-Zyklus für normale Shops erlaubt.

JSON-LD-Deduplizierung

Ein subtiles, aber wichtiges Fix in v0.12 behebt ein langjähriges Problem mit strukturierten Daten. Viele Shops betten Preisinformationen sowohl in sichtbaren HTML-Elementen als auch in JSON-LD-Blöcken ein. Unsere Kandidatenerkennung hat beides erfasst, was manchmal zu doppelten Kandidaten mit leicht unterschiedlichen Konfidenzwerten führte.

Die neue Pipeline dedupliziert Kandidaten: Wenn ein JSON-LD-Preis einem HTML-Kandidaten entspricht, hat die JSON-LD-Version Vorrang. Strukturierte Daten sind konstruktionsbedingt maschinenlesbar und weitaus weniger fehleranfällig als gescrapeter Text. Das verbessert die Erkennungsgenauigkeit insgesamt.

Code-Qualität

Hinter den Kulissen haben wir ruff über alle 60 Backend-Python-Dateien laufen lassen, um PEP-8-Konformität durchzusetzen. Imports sind sortiert, Whitespace ist konsistent, ungenutzter Code ist entfernt. Das ist zwar nicht nutzer-sichtbar, aber eine saubere Codebasis ist eine zuverlässige Codebasis. Es erleichtert uns auch, Features schneller mit weniger Bugs auszuliefern.

Was das für dich bedeutet

Die HTTP-First-Pipeline ist die größte architektonische Änderung seit dem Start von DealMonitor. Hier ist, was du bemerken wirst:

  • Schnellere Preischecks: Die meisten Shops antworten jetzt in unter einer Sekunde statt in 5-15 Sekunden.
  • Bessere Zuverlässigkeit: TLS-Fingerprinting umgeht viele Bot-Erkennungssysteme, die zuvor unsere Checks blockiert haben.
  • Flug-Tracking: Füge URLs von großen Reiseportalen hinzu und verfolge Flugpreise neben deinen normalen Produkt-Trackern.
  • Klügere Erkennung: JSON-LD-Deduplizierung bedeutet weniger Fehlalarme und genauere Preise.

Wir arbeiten mit jeder Version daran, Preis-Tracking schneller, zuverlässiger und umfassender zu machen. Wenn du DealMonitor noch nicht ausprobiert hast, erstelle dein kostenloses Konto und erlebe den Unterschied der HTTP-First-Pipeline. Und wenn du bereits Preise verfolgst, profitieren deine bestehenden Tracker bereits von diesen Verbesserungen.

Das vollständige technische Changelog findest du auf unserer Changelog-Seite.

Ready to Never Miss a Deal Again?

Start tracking prices in seconds. No credit card required.

Start for Free

Related Posts

Wir lesen jetzt die AGB jedes Shops — und scheitern noch an der richtigen Stelle

Wir lesen jetzt die AGB jedes Shops — und scheitern noch an der richtigen Stelle

6 Min. Lesezeit

Wenn Shops uns aussperren — warum manche Preise nicht aktualisiert werden

Wenn Shops uns aussperren — warum manche Preise nicht aktualisiert werden

5 Min. Lesezeit

Drei kleine Features, die DealMonitor im Alltag besser machen

Drei kleine Features, die DealMonitor im Alltag besser machen

4 Min. Lesezeit

Schlauere Preisalarme und selbstheilende Tracker

Schlauere Preisalarme und selbstheilende Tracker

3 Min. Lesezeit

Freunde einladen und Tracker-Slots freischalten

Freunde einladen und Tracker-Slots freischalten

3 Min. Lesezeit

Wunschlisten importieren — Steam & Amazon mit einem Klick

Wunschlisten importieren — Steam & Amazon mit einem Klick

4 Min. Lesezeit

1 Jahr DealMonitor: Von der Idee zum Preistracker

1 Jahr DealMonitor: Von der Idee zum Preistracker

4 Min. Lesezeit

Regime Change: Wie CatBoost unser bisheriges Preiserkennungs-Modell abgelöst hat

Regime Change: Wie CatBoost unser bisheriges Preiserkennungs-Modell abgelöst hat

5 Min. Lesezeit

Die 5 besten Preisvergleich-Tools 2026 im Vergleich

Die 5 besten Preisvergleich-Tools 2026 im Vergleich

7 Min. Lesezeit

Amazon Preisverlauf anzeigen: So trackst du Preise richtig

Amazon Preisverlauf anzeigen: So trackst du Preise richtig

6 Min. Lesezeit

v0.11: API-Integrationen für Etsy, Game-Stores und Multi-Preis-Tracking

v0.11: API-Integrationen für Etsy, Game-Stores und Multi-Preis-Tracking

5 Min. Lesezeit

Weihnachtsgeschenke jetzt schon auf dem Schirm? Ja, auch im März ist das clever.

Weihnachtsgeschenke jetzt schon auf dem Schirm? Ja, auch im März ist das clever.

5 Min. Lesezeit

v0.10: Amazon und AliExpress mit APIs bezwingen

v0.10: Amazon und AliExpress mit APIs bezwingen

5 Min. Lesezeit

Wie Online-Shops dich zum Kaufen manipulieren — und wie du dich wehrst

Wie Online-Shops dich zum Kaufen manipulieren — und wie du dich wehrst

8 Min. Lesezeit

DealMonitor geht in die Beta: Alles, was neu ist

DealMonitor geht in die Beta: Alles, was neu ist

5 Min. Lesezeit

Der ultimative Leitfaden für smartes Online-Shopping

Der ultimative Leitfaden für smartes Online-Shopping

6 Min. Lesezeit

v0.8: Dark Mode, Fehler-Monitoring und unsere ersten Blogposts

v0.8: Dark Mode, Fehler-Monitoring und unsere ersten Blogposts

4 Min. Lesezeit

v0.7: Web-Push-Benachrichtigungen und Dashboard-Suche

v0.7: Web-Push-Benachrichtigungen und Dashboard-Suche

5 Min. Lesezeit

Wie KI Preise auf jeder Website erkennt

Wie KI Preise auf jeder Website erkennt

6 Min. Lesezeit

v0.6: Telegram-Benachrichtigungen, Tracker-Gruppen und Teilen

v0.6: Telegram-Benachrichtigungen, Tracker-Gruppen und Teilen

4 Min. Lesezeit

5 Wege, mit Preisalarmen Geld zu sparen

5 Wege, mit Preisalarmen Geld zu sparen

5 Min. Lesezeit

v0.5: Google OAuth und 9 Sprachen von Anfang an

v0.5: Google OAuth und 9 Sprachen von Anfang an

4 Min. Lesezeit

So verfolgst du Preise online

So verfolgst du Preise online

5 Min. Lesezeit

v0.12: HTTP-First Scraping und das Ende der Selenium-Abhängigkeit