Browserbasierter Monitor zur Beobachtung eingeloggter, dynamisch gerenderter Webseiten mit Benachrichtigung bei relevanten Änderungen.
Das Projekt wird aktiv als persönliches Monitoring-Tool genutzt und gleichzeitig veröffentlicht, um Kenntnisse in Browser-Automation, Session-Handling und Änderungserkennung zu demonstrieren.
Viele moderne Webanwendungen laden Inhalte clientseitig und erfordern eine Anmeldung.
Dieses Projekt rendert eine Zielseite regelmäßig in einer echten Browser-Umgebung und vergleicht deren Zustand über die Zeit.
Sobald sich Struktur oder Interaktivität der Seite in sinnvoller Weise verändern, wird eine Benachrichtigung ausgelöst.
Der Fokus liegt dabei auf Änderungserkennung und Benachrichtigung, nicht auf der Automatisierung von Nutzeraktionen.
- Rendering JavaScript-lastiger Seiten mit einer echten Browser-Engine
- Persistente, authentifizierte Sessions über mehrere Durchläufe hinweg
- Erkennung struktureller und interaktiver DOM-Änderungen
- Echtzeit-Push-Benachrichtigungen über die Telegram Bot API
- Betrieb im sichtbaren oder headlosen Modus
- Ausgelegt für langfristigen Hintergrundbetrieb
Anstelle statischer HTTP-Requests setzt das Projekt auf Browser-Automation, um reales Nutzerverhalten und authentifizierte Sitzungen abzubilden.
Die Änderungserkennung kombiniert mehrere Ansätze:
- Hash-Vergleich des gerenderten DOM
- Heuristiken zur Anzahl interaktiver Elemente (Links, Buttons, Listen)
- Erkennung neu auftretender klickbarer Strukturen
Dieser Ansatz reagiert auf funktionale Änderungen und ist gleichzeitig robust gegenüber kleineren Layout-Anpassungen.
- Python
- Playwright
- Chromium
- Telegram Bot API
Das Projekt wird genutzt, um Seiten zu überwachen, bei denen Inhalte oder Verfügbarkeiten ohne explizite Benachrichtigung und zu unvorhersehbaren Zeitpunkten erscheinen.
Es lässt sich auf andere Szenarien übertragen, in denen:
- eine Anmeldung erforderlich ist
- Inhalte clientseitig gerendert werden
- zeitnahe Benachrichtigungen über Änderungen benötigt werden
- Keine Automatisierung von Käufen, Formularen oder Checkout-Prozessen
- Kein Umgehen von Captchas oder Schutzmechanismen
- Änderungserkennung ist heuristikbasiert und seitenabhängig
- Gedacht für private und lernorientierte Nutzung
Dieses Repository demonstriert Techniken zur browserbasierten Änderungserkennung.
Die Nutzung erfolgt auf eigene Verantwortung.
Die Nutzungsbedingungen der jeweils überwachten Plattform sind einzuhalten.
Kurze Anleitung zur Nutzung des Tools.
Diese Sektion beschreibt nur den Start und Betrieb, nicht die Einrichtung oder interne Implementierung.
Die Ziel-URL ist die Seite, die nach dem Login im Browser angezeigt wird und überwacht werden soll
(z. B. eine eingeloggte Detail- oder Zweitmarkt-Seite).
./run.sh --show "ZIEL_URL"
- startet einen sichtbaren Browser
- ermöglicht Login
- erlaubt zu prüfen, ob die korrekte Seite geladen wird
- empfohlen beim ersten Start oder nach Ablauf der Session
Beenden mit:
Ctrl + C
./run.sh "ZIEL_URL"
- läuft ohne sichtbares Browser-Fenster
- nutzt eine gespeicherte Login-Session
- sendet Benachrichtigungen bei relevanten Seitenänderungen
Falls ein Alias eingerichtet ist, kann das Tool direkt so gestartet werden:
union "ZIEL_URL"
Oder sichtbar:
union --show "ZIEL_URL"
Für längeres Monitoring kann das Tool im Hintergrund ausgeführt werden:
nohup union "ZIEL_URL" > monitor.log 2>&1 &
- läuft weiter, auch wenn das Terminal geschlossen wird
- geeignet für längeren Betrieb oder gesperrten Bildschirm
Prozess-ID ermitteln:
ps aux | grep union_ticket_monitor.py
Prozess beenden:
kill <PID>
Falls eine neue Anmeldung erforderlich ist:
rm -rf ~/union-monitor-profile
Danach erneut sichtbar starten:
./run.sh --show "ZIEL_URL"