Aus Linux-Magazin 01/2005

Software entwickeln unter Linux

Über XML-basierte RSS-Feeds geben viele Websites maschinenlesbare Zusammenfassungen ihrer Inhalte. Die meisten Programmiersprachen kommen mit dem Format gut klar.

Inhalt

 

102

Feder-Lesen
Für RSS-Feeds kennt Tcl die passenden Erweiterungen. Sie
parsen das XML- basierte Format und bauen damit DOM-Bäume
auf.

108

Perl-Snapshot
Will man die eigene Website mit einem RSS-Feed aufwerten, ist das
mit Perl eine leichte Übung. Fertige Module aus dem CPAN
helfen dabei.

112

Mono programmieren
Mit dem Mono-Framework und der Sprache C# lassen sich auch
systemnahe Anwendungen programmieren.
Außerdem: Hintergründe und Benchmarks zur
Linux-Threads-Bibliothek NPTL auf S. 90.

Seit der Inflation von Weblogs findet man sie überall: kleine Links auf XML-Dateien, die im Browser hässlich aussehen, wenn man sie angeklickt hat. Dahinter verbergen sich so genannte RSS-Dateien (RDF Site Summary), über die Weblogs ihre Schlagzeilen austauschen und sich gegenseitig verlinken. Auch viele News-Seiten im Internet bieten ihre Schlagzeilen im RSS-Format an.

Einen Einblick in die verwirrende Vielfalt der RSS-Varianten geben die Artikel auf den nächsten Seiten. Sie beschreiben, wie die Programmiersprachen Tcl und Perl mit RSS-Dateien umgehen. Damit Python-Freunde nicht draußen bleiben müssen, stellt der nächste Abschnitt für sie ein passendes Modul vor.

Ein Parser für alles

Der Feed-Parser[1] von Python-Buchautor[2] Mark Pilgrim beherrscht alle zurzeit verbreiteten RSS-Formate und sogar das verwandte Atom. Nach dem Entpacken der Zip-Datei geht es schnell: Der Befehl »python setup.py install«, als Administrator ausgeführt, konfiguriert das Paket und kopiert die Datei »feedparser.py« ins Bibliotheksverzeichnis.

Mit wenigen Zeilen im interaktiven Python-Interpreter holt der Parser eine RSS-Datei von einer Website und verarbeitet sie weiter:

>>> import feedparser
>>> result = feedparser.parse
("http://www.pythonware.com/daily/rss2.xml")
>>> print result.feed.title
u'Daily Python-URL! (from the Secret Labs)'

Das Beispiel benutzt mit »parse« die einzige öffentliche (public) Funktion des Moduls. Sie akzeptiert als Argument einen Dateinamen, eine URL oder einen String mit RSS-Code. Die Variable »result.feed.title« enthält nach dem Parsen einen Unicode-String mit dem Titel des RSS-Feed.

In einer Schleife liest man die einzelnen Einträge der RSS-Datei und gibt sie aus:

>>> for entry in result.entries:
...     print entry.id

Neben der »id« enthält das Parser-Ergebnisobjekt unter anderem die Felder »title«, »link« und »summary«. Mit diesen wenigen Elementen lassen sich leicht die wichtigsten Informationen einer RSS-Datei verarbeiten.

Mehr Details findet sich in der ausführlichen Dokumentation, die die Arbeitsweise des Feed-Parsers an praktischen Beispielen erklärt.

Programmierer-Software

Infos

[1] Feed-Parser: [http://sourceforge.net/projects/feedparser/]

[2] Python-Buch: [http://diveintopython.org/]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben