Wie funktioniert Website-Monitoring? Ein technischer Überblick
Was passiert eigentlich, wenn ein Website-Monitor eine Änderung erkennt? Ein praktischer Blick auf Scraping, Hashing, Diffing und KI-Zusammenfassungen.
Was ist Website-Monitoring?
Website-Monitoring beschreibt automatisierte Verfahren, die regelmäßig prüfen, ob sich der Inhalt einer oder mehrerer Websites geändert hat. Anders als ein RSS-Feed funktioniert das auch dort, wo es keinen Feed gibt: bei modernen Single-Page-Apps, Behörden-Portalen, Shop-Seiten oder Konkurrenz-Websites.
Im Kern besteht jeder Website-Monitor aus vier Schritten: Fetch, Extract, Detect und Notify. SumYou ergänzt diese Pipeline um einen fünften Schritt: Summarize.
Schritt 1: Fetch — die Seite abrufen
Der Monitor ruft die URL ab. Klingt trivial, ist es aber nicht — viele Seiten reagieren unterschiedlich, je nachdem wer sie aufruft:
- Statische HTML-Seiten lassen sich mit einem einfachen HTTP-Client abrufen (in SumYou: Pythons `requests`-Bibliothek).
- JavaScript-gerenderte Seiten liefern bei einem normalen Request nur ein leeres HTML-Gerüst. Der eigentliche Inhalt wird erst von JavaScript im Browser nachgeladen. Dafür braucht der Monitor einen echten Browser — SumYou nutzt Playwright, der Chromium im Hintergrund startet, JavaScript ausführt und das fertig gerenderte DOM zurückgibt.
Wichtig in beiden Fällen: robots.txt respektieren, rate-limiten (max. 1 Request pro 10 Sekunden pro Domain) und einen realistischen User-Agent setzen.
Schritt 2: Extract — relevanten Content isolieren
Eine durchschnittliche News-Seite besteht zu vielleicht 20 % aus Artikel-Inhalt — der Rest sind Navigation, Cookie-Banner, Werbung, Footer, Newsletter-Popups. Würdest du diese Bereiche mitvergleichen, bekämst du ständig falsche Änderungs-Alerts.
Gute Monitore verwenden eine Extraction-Heuristik:
- HTML in einen DOM-Baum parsen (in SumYou: BeautifulSoup4)
- Bekannte Störelemente entfernen (`script`, `style`, `nav`, `footer`, Cookie-Banner)
- Den Hauptinhalt heuristisch finden — typischerweise das `<main>`- oder `<article>`-Element, oder das `<div>` mit der höchsten Text-Dichte
- Den Text normalisieren (mehrfache Leerzeichen, Zeilenumbrüche)
Das Ergebnis ist ein sauberer Plain-Text, der den eigentlichen redaktionellen Inhalt abbildet.
Schritt 3: Detect — Änderungen finden
Jetzt muss der Monitor entscheiden: hat sich seit dem letzten Check etwas geändert?
Die meisten Tools nutzen einen Content-Hash wie SHA-256 oder MD5. Dabei wird der bereinigte Text durch eine kryptografische Hash-Funktion gejagt. Das Ergebnis ist eine 64-Zeichen-lange Zeichenkette. Ändert sich nur ein einziges Zeichen im Text, ändert sich der Hash komplett.
Vorteile dieses Ansatzes:
- Schnell: Hash-Vergleiche sind in Mikrosekunden erledigt
- Speicher-effizient: Statt den ganzen Seiteninhalt zu speichern, reichen 64 Zeichen
- Präzise: Keine Fehlalarme durch Whitespace-Unterschiede (wenn vorher normalisiert wurde)
Der Nachteil: Der Hash sagt nur "es hat sich was geändert", nicht was. Deshalb speichert SumYou zusätzlich den Text und berechnet bei Änderungen einen Diff — eine Liste der geänderten Zeilen.
Schritt 4: Summarize — KI macht den Diff lesbar
Ein roher Text-Diff ist für Menschen schwer lesbar. "Zeile 145 wurde gelöscht, Zeile 146 hinzugefügt" — was bedeutet das?
Hier kommt der entscheidende SumYou-Schritt: ein Large Language Model (standardmäßig GPT-4o-mini, mit Anthropic Claude als Fallback) bekommt den alten und neuen Inhalt und erstellt eine 2-3-Sätze-Zusammenfassung in der Sprache deiner Wahl.
Beispiel: Statt "Zeile 145: 'iPhone 15 Pro 1.299 EUR' -> 'iPhone 15 Pro 1.199 EUR'" bekommst du:
> "Apple hat den Preis für das iPhone 15 Pro um 100 EUR auf 1.199 EUR gesenkt. Andere Modelle blieben unverändert."
Damit das LLM nicht halluziniert, bekommt es nur die Änderungs-Bereiche, nicht den ganzen Seiteninhalt. Plus: ein striktes System-Prompt, das nur Beobachtungen erlaubt, keine Spekulationen.
Schritt 5: Notify — den Nutzer informieren
Sobald die Zusammenfassung fertig ist, geht sie an den Nutzer:
- Im Updates-Feed auf SumYou.com
- Optional per E-Mail (Pro / Pro+)
- Demnächst auch per Push-Notification (PWA)
Wie oft wird gecheckt?
Das Polling-Intervall ist ein Kompromiss zwischen Aktualität, Server-Last und Kosten. SumYou-Pläne:
- Free: alle 24 Stunden
- Pro: jede Stunde
- Pro+: alle 15 Minuten
Im Hintergrund verteilt Celery Beat die Checks über den Tag, damit nicht alle Quellen gleichzeitig hammern. Bei Quellen mit Fehlern (Server down, Captcha) wird das Intervall automatisch verlängert.
Fazit
Website-Monitoring ist kein Hexenwerk, aber es gibt viele kleine Detail-Probleme: korrekte Content-Extraktion, robuste Change-Detection, sinnvolle KI-Zusammenfassungen, freundliches Crawling-Verhalten. SumYou löst diese Probleme out-of-the-box, damit du dich aufs Wesentliche konzentrieren kannst: zu wissen, was sich geändert hat.
Probiere SumYou kostenlos aus und überwache deine ersten 10 Quellen mit GPT-4o-mini-Zusammenfassungen.