
Abbildung 1: Urlwatch informiert den Admin via E-Mail postwendend von den Neuigkeiten auf seinen bevorzugten Webseiten.
Gestandene Systemadministratoren wie unser Kolumnist Charly Kühnast legen großen Wert darauf, in Sachen Informationstechnologie stets auf dem neuesten Stand zu sein. Das Kommandozeilenwerkzeug Urlwatch präsentiert ihm dazu per E-Mail die Neuigkeiten von Webseiten, die keinen RSS-Feed anbieten.
Bereits vor einigen Jahren habe ich an dieser Stelle über den RSS-Feed-Aggregator Miniflux geschrieben [1], den ich auch nach wie vor nutze. Er ist schlank, arbeitet schnell und lässt sich einfach angenehm verwenden. Der seit einer gefühlt mittleren Ewigkeit prophezeite Tod von RSS-Feeds ist zwar nach wie vor nicht eingetreten, aber einige Webseiten bieten schlicht keine solchen Feeds an. Hier muss ich mir anders behelfen: Ich brauche ein Werkzeug, das mich darauf aufmerksam macht, wenn sich eine bestimmte Webseite ändert.
Das ist deutlich komplizierter, als es sich zunächst anhört. Einen Webdienst dafür zu nutzen (davon gibt es unzählige), scheidet schon aus Gründen der Datensparsamkeit aus. Das größte Problem ist aber ein anderes: Auf Webseiten ändern sich permanent Dinge, die für mich nicht relevant sind. Eine Tageszeitung beispielsweise, die ich regelmäßig lese, blendet Stellenanzeigen ein, die sich bei jedem Reload ändern. Wenn ich dann jedes Mal eine Benachrichtigung bekomme, werde ich wahnsinnig. Das muss besser gehen – und es geht auch: mit Urlwatch.
Das in Python 3 geschriebene Urlwatch gehört zum Umfang der meisten populären Distributionen. Wer genau wissen will, ob und in welcher Version Urlwatch in seiner Lieblings-Distro vorhanden ist, wird auf Repology.org [2] fündig, Selbermacher bedienen sich auf Github [3]. Zum Zwecke des Beispiels weise ich Urlwatch an, die News-Seite von Linux-Magazin Online im Auge zu behalten (Listing 1) – unnötigerweise, denn sie bietet RSS an.
Listing 1
Webseiten überwachen
01 $ urlwatch --add url=https://www.linux-magazin.de/news/,name=LinMag
Urlwatch hat jetzt in meinem Home-Verzeichnis unter ».config/urlwatch/« eine Konfigurationsdatei namens »urls.yaml« angelegt (Listing 2). So weit, so gut – aber ich will sichergehen, dass ich nur dann benachrichtigt werde, wenn ein neuer Newsticker-Eintrag erscheint. Andere Änderungen an der Webseite soll Urlwatch ignorieren.
Listing 2
urls.yaml
01 kind: url 02 name: LinMag 03 url: https://www.linux-magazin.de/news/
Dazu tauche ich kurz in den HTML-Quelltext der Webseite ab und finde heraus, dass jeder Newsticker-Eintrag von einem »div«-Tag eingeleitet wird, das als »class«-Spezifikation die Angabe »”td_module_9 td_module_wrap”« enthält. Also hänge ich die folgende Zeile an die Konfiguration in der »urls.yaml« an:
filter: element-by-id:td_module_9
Jetzt alarmiert Urlwatch mich nur noch, sobald ein neuer Ticker-Eintrag auf der Webseite auftaucht. Für die Art der Alarmierung gibt es eine reiche Auswahl; ich habe mich für eine schlichte E-Mail entschieden. Dazu muss ich lediglich unter ».config/urlwatch/« in der Konfigurationsdatei »urlwatch.yaml« im Abschnitt »report« den zuständigen Mailserver sowie die Absender- und die Empfängeradresse eintragen. Und tatsächlich: Schon bald klingelt der elektronische Briefträger (Abbildung 1).
Infos
- Miniflux: Charly Kühnast, “Aus dem Alltag eines Sysadmin”: LM 06/2014, S. 59, https://www.linux-magazin.de/ausgaben/2014/06/einfuehrung/
- Urlwatch-Pakete: https://repology.org/project/urlwatch/versions
- Urlwatch auf Github: https://github.com/thp/urlwatch





