Feeds mit Yahoo Pipes aggregieren

„Was für ein alter Schuh ist das denn?“ wird der Ein oder Andere jetzt vielleicht denken. Denn wirklich neu ist Yahoos Tool zum Remixen von Webinhalten nun wirklich nicht − auch wenn es offiziell noch immer im Beta-Stadium feststeckt. Aber ich habe erst kürzlich die Zeit und die Muse gefunden, mir die Geschichte mal etwas näher anzuschauen und war direkt beeindruckt.

Yahoo Pipes macht es einfach, fremde Datenquellen abzufragen, zu verändern, zu rekombinieren, zu sortieren und das Ergebnis neu auszugeben. Es macht total Laune mit den verschiedenen Modulen rumzuspielen und diese kreuz und quer zu „verkabeln“!

Meine ersten Gehversuche in Yahoo Pipes habe ich in einem kleinen Video-Tutorial festgehalten, in dem es darum geht, RSS-Feeds aus verschieden Quellen zusammen zu führen und zu ordnen. Für diejenigen, die bereits mit Pipes gearbeitet haben, dürfte das „kalter Kaffee“ sein − die Interessierten, die Yahoo Pipes noch nicht kennen, sollten sich das unbedingt mal anschauen.

Rohr frei!

 

RSS-Feeds aggregieren mit Yahoo Pipes

In diesem Video-Tutorial möchte ich zeigen, wie man auf sehr einfache Weise mehrere RSS-Feeds zu einem Feed zusammenführen kann. Die Realisierung erfolgt mit Yahoo Pipes, einen kostenlosen Service zum Sammeln, Filtern und Bearbeiten von Daten verschiedener Quellen.

Pipes is a powerful composition tool to aggregate, manipulate, and mashup content from around the web.

Auszug aus der Produktbeschreibung von Yahoo.

Video Teil 1 von 2

Dieses Video auf YouTube ansehen.
Durch das Abspielen des Videos werden Daten von Youtube / Google nachgeladen. Bitte Datenschutzerklärung von Google beachten beachten.

Zusammenführen von RSS-Feeds

Zum Zusammenführen (Aggregieren) meherer Feeds bedarf es in Yahoo Pipes nur weniger Klicks: Zunächst zieht man sich aus der linken Werkzeugleiste aus der Rubrik „Sources“ das Modul „Fetch Feed“ auf die Arbeitsfläche und trägt nacheinander alle Feedquellen ein. Weitere URL-Eingabefelder können durch Klicken auf das Plus-Symbol im oberen Teil des Modulfensters erzeugt werden.

Pipes fetchfeed

In das Fetch-Modul werden alle RSS-Feeds eingetragen

Dank Feed-Auto-Discovery ist es in den meisten Fällen nicht nötig, die direkt URL zum Feed anzugeben:

Statt z.B. feed://www.andreherdling.de/generator/modules/news/rss.php?page_id=10 reicht dieser Eintrag völlig aus: http://www.andreherdling.de.

Nachdem alle URL eingegeben wurden, muss nur noch das Modul „Fetch Feed“ mit „Pipe Output“ verbunden werden. Nach dem Speichern der Pipe kann diese ausgeführt werden und zeigt anschliessend die Inhalte der angegebenen Feeds in der Reihenfolge, in der die URL angegeben wurden.

Feed-Einträge chronologisch sortieren

In der Regel wünscht man sich jedoch die chronologisch geordnete Ausgabe der Feed-Einträge. Und auch dieses Ziel lässt sich mit Yahoo Pipes sehr einfach erreichen:

Die Lösung ist das Modul „Sort“ aus der Rubrik „Operators“ der linken Werkzeugleiste. Nachdem man „Sort“ auf die Arbeitsfläche gezogen hat, löst man die Verbindung von „Fetch Feed“ und „Pipe Output„, verbindet die drei Module neu und gibt in „Sort“ die Sortierkriterien an.

Pipes sort

Das Sort-Modul – man errät es – sortiert die Einträge

Für die Sortierung nach Veröffentlichungsdatum, wählt man bei „Sort by“ den Eintrag „item.pubDate“ (Zeitstempel der Veröffentlichung) und gibt „descending“ als Sortierreihenfolge an. Damit erscheinen die neusten Einträge oben, ältere Einträge unten.

Pipes sorted_title

Der erste aggregierte Feed in Yahoo Pipes

 

Video Teil 2 von 2

Dieses Video auf YouTube ansehen.
Durch das Abspielen des Videos werden Daten von Youtube / Google nachgeladen. Bitte Datenschutzerklärung von Google beachten beachten.

Quellen der Feeds kennzeichnen

Da nun ein buntes Sammelsurium an Einträgen verschiedener Herkunft entstanden ist, wäre es doch wünschenswert, wenn jeder Eintrag mit einer mit einer kurzen Quellenangabe versehen wird. So weiß der Leser schneller, wie er den Eintrag einzuordnen hat: Ist das ein Tweet, ein Blogpost oder ein Lesezeichen oder etwas Anderes? Und auch diese Aufgabenstellung lässt sich mit Yahoo Pipes bequem lösen.

In diesem Szenario muss man jedoch einen etwas anderen Weg gehen. Um jede Quelle für sich separat zu bearbeiten, müssen wir zunächst für jeden einzelnen Feed ein „Fetch Feed„-Modul erstellen.  In jedem dieser „Fetch Feed„-Module darf nur eine URL eingetragen werden.

Um die Titel der einzelnen Einträge nun mit einer Quellenangabe zu versehen, zieht man sich für jedes „Fetch Feed„-Modul ein „Regex“ aus der Rubrik „Operators“ der Werkzeugleiste und verbindet jeweils ein „Fetch Feed“ mit einem „Regex„. Im Feld „in“ wählt man „item.title„, bei replace wird „^“ eigegeben, bei „with“ letztlich der Text, der als Quellenangabe dienen soll.

Pipes regex

Mit dem Regex-Modul ergänzen wir die Feed-Quelle vor jedem Eintrag

Wer sich mit Regex (Regular Expressions) auskennt, kann an dieser Stelle noch ein Vielzahl weiterer interessanter Manipulationen vornehmen – für mein Beispiel soll aber diese einfach Syntax ausreichen.

Nachdem dieser Schritt für alle Feeds wiederholt wurde, geht es nun daran, die einzelnen bearbeiteten Feeds wieder zusammen zu führen. Dafür steht das Modul „Union“ unter der Rubrik „Operators“ bereit. Nachdem „Union“ an einer freien Stelle der Arbeitsfläche platziert wurde, verbindet man die Ausgänge der „Regex„-Module mit den Eingängen von „Union“ („Union“ besitzt fünf Eingänge – durch Kaskadieren mehrerer „Union“-Module lassen sich beliebig viele Feeds erneut zusammenführen).
Sind die Feeds zusammengeführt, geht es nun wieder zu „Sort„, das die chronologische Sortierung der Einträge übernimmt (siehe oben) und anschliessend von da aus in den „Pipe Output„.

Pipes tagged_title

Das fertige Pipes-Projekt: Einfacher als es aussieht.

Das Ergebnis ist ein aggregierter Feed mit Einträgen unterschiedlicher Herkunft und Angabe der Quelle.

Dieser kombinierte Feed lässt sich nun auf der eigenen Website oder in Web-Anwendungen integrieren.

Weiterführende Informationen


 

1 Kommentar Schreibe einen Kommentar

Schreibe einen Kommentar

Personenbezogene Daten interessieren mich nicht – daher ist die Angabe von Name und E-Mail-Adresse freiwillig. Jedoch wird jeder Kommentar von mir geprüft, bevor er freigeschalten wird.