Tools windows

Benachrichtigung über Website-Änderungen und -Aktualisierungen mit "urlwatch"

"urlwatch" ist eine Open-Source-Software auf Github, die Sie über Website-Änderungen und -Aktualisierungen benachrichtigt. Es ist zum Allgemeinwissen geworden, dass Apps, Webdienste und Chrome-Erweiterungen, die Sie über Website-Änderungen und -Aktualisierungen benachrichtigen, entweder kostenpflichtig sind oder eine geringe Erweiterbarkeit haben. Das Python-basierte Befehlszeilen-Tool "urlwatch" überwacht Website-Änderungen und sendet Benachrichtigungen per E-Mail oder Telegram.

Shou Arisaka
4 Min. Lesezeit
23. Nov. 2025

Ich stelle “urlwatch” vor, eine Open-Source-Software auf Github, die Sie über Website-Änderungen und -Aktualisierungen benachrichtigt.

Es gibt einige Apps und Webdienste, die Sie über Website-Änderungen und -Aktualisierungen benachrichtigen, und ich habe früher selbst Chrome-Erweiterungen verwendet. Es ist jedoch zum Allgemeinwissen geworden, dass solche Dinge entweder kostenpflichtig sind oder eine geringe Erweiterbarkeit haben. Wenn möglich, möchte ich Open-Source-Projekte nutzen, die auf Github verfügbar sind.

Das Python-basierte CLI (Befehlszeilen-Tool) “urlwatch”, das auf Github veröffentlicht wurde, überwacht Änderungen an Websites oder Teilen von Websites und benachrichtigt Sie per E-Mail oder Telegram.

Image

GitHub - thp/urlwatch: urlwatch monitors webpages for you

Zuerst die Installation.

pip3 install --upgrade urlwatch

Wenn Sie den obigen Befehl nicht verstehen oder WSL unter Windows noch nicht installiert haben, lesen Sie bitte zuerst Folgendes:

Listen Sie die URLs, die Sie überwachen möchten, und zugehörige Informationen in der Datei .config\urlwatch\urls.yaml auf. Öffnen Sie die Datei in einem Editor oder bearbeiten Sie sie mit urlwatch —edit.

Wenn Sie urlwatch —edit verwenden, müssen Sie einen Editor in der CLI festlegen. Wählen Sie Ihren bevorzugten aus Vim oder nano.

export EDITOR="/usr/bin/vim"
export EDITOR="/bin/nano"

Lassen Sie uns es jetzt als Test mit meiner Website ausprobieren. Wenn Sie keine eigene Website haben, können Sie es mit Twitter oder Ähnlichem versuchen.

Schreiben Sie zunächst Folgendes in die urls.yaml-Datei:

kind: url
name: test fumiya.org
url: https://fumiya.org/?p=10
# filter: element-by-id:content 
filter: xpath:/html[1]/body[1]/div[1]/div[1]/main[1]/div[1]/div[1]/div[1]/article[1]/div[1]
# diff_tool: meld 

Die url- und filter-Optionen sind der Schlüssel. Für den Filter können Sie neben Selektoren und xpath, wenn es eine einfache ID ist, diese als filter: element-by-id:content angeben. Wenn Sie die filter-Option nicht einschließen, wird die gesamte Seite zum Überwachungsziel.

Bei vielen Websites ändert sich der Quellcode der gesamten Seite oft aufgrund von dynamisch generierten Daten aus PHP oder JavaScript, selbst wenn Administratoren oder Moderatoren keine Artikel aktualisieren. Wenn Sie genau wissen, welchen Teil Sie auf Änderungen überwachen möchten, wird die Genauigkeit erhöht, wenn Sie den Pfad zu diesem Teil klären, anstatt die gesamte Seite zu überwachen.

Image

Nach dem Speichern der Datei können Sie die Jobliste mit urlwatch —list überprüfen.

Speichern Sie jetzt den aktuellen Seitenquellcode mit urlwatch.

Image

So sah die Website beim Speichern aus.

Als Nächstes bearbeiten Sie eine Datei auf dem Server, um einen Teil des obigen Website-Quellcodes zu ändern.

Image

Ich habe einige Textänderungen vorgenommen, um es so aussehen zu lassen.

Lassen Sie uns jetzt urlwatch erneut ausführen.

Image

Es wurde so ausgegeben. Sie können den Diff des geänderten Textteils sehen.

Image

Wenn Sie mehrere URLs registrieren möchten, trennen Sie sie mit ---. Als Beispiel sieht meine praktische urls.yaml so aus.

Dies ist bereits ein perfekt nutzbares Tool, aber das Projekt kann mit Telegram oder E-Mail-Servern integriert werden. Ich bevorzuge Telegram, weil es einfacher ist, deshalb stelle ich hier kurz vor, wie man Telegram-Benachrichtigungen einrichtet.

Nachrichten über curl-Befehl von Ubuntu Bash an Telegram senden mithilfe der Telegram-API

Telegram- und E-Mail-Benachrichtigungseinstellungen werden in der Datei .config\urlwatch\urlwatch.yaml geschrieben. Wenn Sie eine Zeichenfolgensuche durchführen, finden Sie telegram, sodass Sie einfach Ihre API eingeben können…

Image

Eine Sache, auf die Sie achten sollten, ist, die bot-Zeichenfolge nicht am Anfang zu setzen, wie oben gezeigt.

Wenn Sie bot hinzufügen, wird es im internen Code als botbot12345… interpretiert, was zu einem Fehler führt.

for chat_info in requests.get('https://api.telegram.org/bot{}/getUpdates'.format(bot_token)).json()['result']:

Image

So wird es richtig geschrieben.

Nun, alles, was noch übrig ist, ist dies regelmäßig mit cron oder node cron auszuführen, und Sie können Website-Änderungen automatisch in regelmäßigen Abständen wie stündlich oder täglich überwachen und benachrichtigen. Gute Arbeit.

GitHub - kelektiv/node-cron: Cron for NodeJS.

Diesen Artikel teilen

Shou Arisaka 23. Nov. 2025

🔗 Links kopieren