DealMonitor Logo
Back to Blog
v0.10: Amazon und AliExpress mit APIs bezwingen

v0.10: Amazon und AliExpress mit APIs bezwingen

·by DealMonitor Team·5 Min. Lesezeit
releaseamazonaliexpressapi

Amazon ist der weltweit größte Online-Marktplatz und gleichzeitig eine der am schwersten zuverlässig zu scrapenden Websites. Preise ändern sich ständig, Produktseiten stecken voller dynamischer Inhalte, und Amazons Bot-Erkennung ist unerbittlich. Mit v0.10 gehen wir die Amazon-Herausforderung frontal an, mit einer dedizierten API-Integration, einer neuen AliExpress-API und einer Reihe von Preiserkennungs-Fixes, die die Genauigkeit insgesamt verbessern.

Die Amazon-Scraping-Herausforderung

Wenn du jemals versucht hast, irgendetwas auf Amazon zu automatisieren, kennst du den Schmerz. Produktseiten sind keine einfachen HTML-Dokumente. Es sind komplexe JavaScript-Anwendungen, die je nach Standort, Browsing-Verlauf und Dutzenden anderer Signale unterschiedlich rendern. Ein Preis, der in einer Session als 29,99 EUR angezeigt wird, könnte in einer anderen 33,50 USD zeigen, abhängig davon, welche Cookies gesetzt sind.

Aber das eigentliche Problem liegt tiefer. Amazon-Produktseiten enthalten Dutzende von Zahlen, die wie Preise aussehen, aber keine sind: Versandkosten, Bewertungen, Verkäuferzahlen, Review-Scores, Variantenpreise für verschiedene Größen oder Farben, durchgestrichene "War"-Preise und Preis-Fragmente, die über mehrere HTML-Elemente verteilt sind. Unser ML-Modell musste all das navigieren, und obwohl es einen guten Job machte, gab es hartnäckige Sonderfälle, die kein Trainingsvolumen komplett lösen konnte.

Amazon Creators API

Amazons veraltete Product Advertising API (PA-API v5) war der alte Standard für programmatischen Zugriff auf Produktdaten. Ihr Nachfolger, die Creators API, nutzt moderne OAuth-2.0-Authentifizierung und liefert strukturierte Produktdaten inklusive aktueller Preise, Verfügbarkeit und Produkt-Metadaten.

Wenn du eine Amazon-Produkt-URL zu DealMonitor hinzufügst, extrahieren wir die ASIN (Amazon Standard Identification Number) aus der URL und fragen die Creators API direkt ab. Die Antwort enthält den exakten aktuellen Preis in der nativen Währung des Marktplatzes. Kein Scraping, keine Bot-Erkennung, keine Mehrdeutigkeit.

Die API unterstützt mehrere Amazon-Regionen: US, EU und JP. Jede Region hat ihren eigenen Authentifizierungs-Endpunkt, und DealMonitor leitet Anfragen automatisch an die korrekte regionale API weiter, basierend auf der Amazon-Domain in deiner URL (amazon.de, amazon.com, amazon.co.jp usw.).

AliExpress-Affiliate-API

AliExpress stellt ähnliche Herausforderungen wie Amazon: schweres JavaScript-Rendering, aggressiver Bot-Schutz und Preise, die je nach Region und User-Session variieren. Wir haben die AliExpress-Affiliate-API integriert, um zuverlässige Preisdaten direkt aus deren System zu erhalten.

Wie bei der Amazon-Integration funktioniert das transparent. Füge eine AliExpress-URL hinzu, und DealMonitor erledigt den Rest. Die API liefert den aktuellen Preis, den Aktionspreis falls vorhanden und Währungsinformationen. Keine Browser-Session nötig.

Währungs-Forcing für internationale Shops

Eines der frustrierendsten Probleme, das unsere Nutzer gemeldet haben, waren inkonsistente Währungen auf Amazon. Du verfolgst ein Produkt auf amazon.de und erwartest EUR-Preise, aber die Scraper-Session liefert USD oder GBP, wegen der Art, wie Amazon internationale Besucher behandelt.

Wir haben das mit i18n-prefs-Cookie-Forcing gelöst. Wenn DealMonitor eine Amazon-Domain scrapt, setzt es das i18n-prefs-Cookie auf die native Währung des Marktplatzes, bevor die Anfrage gesendet wird. Amazon.de liefert immer EUR, amazon.com immer USD, amazon.co.uk immer GBP. Keine Währungsverwirrung mehr.

Dieser Fix gilt sowohl für unsere HTTP-Scraping-Pipeline als auch für Selenium-Sessions und stellt konsistente Ergebnisse sicher, unabhängig von Serverstandort oder IP-Geolokalisierung.

Steam-Altersabfrage-Umgehung

Steam ist eine der beliebtesten Plattformen für PC-Gaming, und viele Produktseiten sind hinter einer Altersverifikation versteckt. Bevor du den Preis eines Spiels mit Altersbeschränkung sehen kannst, fordert Steam dich auf, dein Alter zu bestätigen. Für automatisierte Preischecks war das ein Blocker.

Wir setzen jetzt ein Birthtime-Cookie, bevor wir auf Steam-Seiten zugreifen, was die Altersabfrage automatisch umgeht. Kombiniert mit unserer IsThereAnyDeal-Integration (hinzugefügt in v0.11) handhabt DealMonitor jetzt Spielepreis-Tracking umfassend.

Preis-Fragment-Filterung

Amazon zeigt Preise in einem geteilten Format an: die ganze Zahl und der Dezimalteil befinden sich in separaten HTML-Elementen (a-price-whole und a-price-fraction). Unser Kandidaten-Extraktor hat diese Fragmente manchmal als einzelne Preiskandidaten erfasst, was zu falschen Erkennungen wie "29" statt "29,99" führte.

v0.10 fügt explizite Filterung für diese bekannten Fragment-Muster hinzu. Wenn wir ein price-whole- oder price-fraction-Element erkennen, kombinieren wir sie, bevor sie in die Kandidaten-Pipeline gelangen. Das eliminiert eine ganze Klasse von Erkennungsfehlern auf Amazon-Seiten.

CSS-Klassen-Subset-Matching

Wenn du einen Tracker über die Browser-Erweiterung hinzufügst, erfassen wir die CSS-Klassen des Preiselements, um es bei zukünftigen Scrapes zu identifizieren. Aber hier ist der Haken: Dasselbe Element kann unterschiedliche CSS-Klassen haben, je nachdem, wie die Seite geladen wird. Eine Browser-Erweiterung sieht das vollständig gerenderte DOM mit allen per JavaScript hinzugefügten Klassen, während unser Scraper möglicherweise eine einfachere Version sieht.

Wir haben exaktes Klassen-Matching durch Subset-Matching ersetzt. Wenn die Erweiterung die Klassen "price main-price sale-price" erfasst hat und unser Scraper "price main-price" sieht, ist das trotzdem ein Treffer. Diese scheinbar kleine Änderung hat die Tracker-Zuverlässigkeit dramatisch verbessert bei Shops, in denen JavaScript dynamisch CSS-Klassen hinzufügt oder entfernt.

Non-Price-Tag-Filterung

Unser Kandidaten-Extraktor hat gelegentlich Zahlen aus Formular-Elementen erfasst: Dropdowns, Mengen-Inputs und Konfigurations-Selektoren. Diese Elemente enthalten oft Zahlen, die wie Preise aussehen, aber Mengen, Größen oder Options-Indizes darstellen.

Wir schließen jetzt option, select, input und textarea-Elemente von der Kandidatenerkennung aus. Preise gehören in Anzeige-Elemente, nicht in Formular-Steuerelemente.

Split-Price-Fix

Manche Shops zeigen Cents als Hochzahl neben dem Hauptpreis: "11.99". Unser Extraktor hat manchmal das Dezimaltrennzeichen beim Kombinieren dieser Elemente verloren und "1199" statt "11,99" produziert. Wir haben die Kombinationslogik korrigiert, um nachfolgende Punkte und Kommas vor hochgestellten Cent-Werten korrekt zu handhaben.

Infrastruktur-Verbesserungen

Unter der Haube haben wir undetected-chromedriver durch Standard-Selenium plus Stealth-JavaScript ersetzt. Das gibt uns einen wartbareren und zuverlässigeren Browser-Automatisierungsstack. Wir haben auch CI-Qualitäts-Gates hinzugefügt: Jede Code-Änderung durchläuft jetzt Linting-Checks, Build-Verifikation und Smoke-Import-Tests, bevor sie gemergt werden kann.

Was das für dich bedeutet

  • Amazon-Tracking ist zuverlässig: API-Integration bedeutet genaue Preise in der richtigen Währung, jedes Mal.
  • AliExpress-Tracking funktioniert: Keine blockierten Scrapes mehr auf einem der größten Marktplätze der Welt.
  • Bessere Preiserkennung: Fragment-Filterung, Split-Price-Fixes und Tag-Ausschlüsse reduzieren Fehlalarme.
  • Robustere Tracker: CSS-Subset-Matching bedeutet, dass deine Tracker DOM-Änderungen zwischen Seitenladevorgängen überstehen.

Diese Verbesserungen sind bereits für alle Nutzer live. Melde dich in deinem Dashboard an, um den Unterschied zu sehen, oder schau in unser Changelog für die vollständige Liste der Änderungen.

Ready to Never Miss a Deal Again?

Start tracking prices in seconds. No credit card required.

Start for Free

Related Posts

v0.10: Amazon und AliExpress mit APIs bezwingen