Ü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 |
|
108 |
Perl-Snapshot |
|
112 |
Mono programmieren |
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/] |





