Viele Seiten bieten ja die Möglichkeit von RSS Feeds an. Wer so wie ich viele Feeds abonniert hat, benutzt wahrscheinlich einen Feedreader – bei mir ist es Lifearea. Somit brauche ich nur ein Programm, bin über alle Änderungen meiner Favoriten stets auf dem neuesten Stand und muss nicht jede Webseite einzeln aufrufen.
Allerdings haben viele Seiten nur wenig Text vom eigentlichen Artikel in ihren RSS Feeds enthalten. Meißtens nur ein kurzer Teaser und bei Heise ist zum Beispiel gar nichts drin. Da kann man anhand des Titels nur raten, was wohl im Artikel steht. Durchaus verständlich – man soll ja die Webseite besuchen und Werbung sehen – für mich allerdings unpraktisch. So muss ich nämlich jeden interessanten Link in meinem Browser auf machen, nur um dann festzustellen, das die Seite nur einen reißerischen Titel verwendet. Manche Feedreader können auch gleich die Webseite im Feed aufmachen. Allerdings läuft da meist eine eigene oder abgespeckte Renderengine, die keine Werbung blocken und manchmal sogar nicht mal Flash kann.
Daher hab ich mir ein kleines Skript geschrieben, was die Feed-Adresse aufruft, alle Artikel im Feed aufruft, den Content aus diesen Artikeln in den Feed zurück schreibt und mir den Feed wieder zurück gibt. Klingt kompliziert – ist aber ganz einfach. In meinem neuen Heise Feed stehen somit die Inhalte der Artikel. Selbstverständlich werden alle Links zu Bildern von relativen zu absoluten Pfaden umgeschrieben. Bei Golem funktioniert mit ein paar kleinen Regexes sogar Flash und auch das Zusammenfügen von mehreren Seiten eines Artikels.
Ich denke das es Vielen auch so geht – daher gibt es das Ganze jetzt als OpenSource Download. Da ich nicht weiß wie das rechtstechnisch aussieht, diesen Service direkt im Internet anzubieten, muss sich das jeder selbst installieren.
Im config Ordner liegt für jeden Feed eine Datei mit den entsprechenden Einstellungen. Für Heise, Golem, Gulli, Pro-Linux, THG, Nerdcore, UbuntuGeek und ein paar andere, sind diese Dateien als Beispiele schon vorhanden. Für Golem werde ich das mal exemplarisch durch gehen. Neue Feeds lassen sich dann leicht hinzufügen, in dem einfach neue Dateien im Config Ordner erstellt werden – das bedarf aber etwas PHP und Regex Kenntnis.
Aufgerufen wird der Feed über http://deineseite.de/rss_extender/?feed=name-der-datei-config-ordner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $config['url'] = "http://rss.golem.de/rss.php?feed=RSS2.0"; $config['base_url'] = "http://www.golem.de"; $config['content'] = array("#<!--content-->(.*)<!--/content-->#Uis", 1); $config['search'] = array( "#<script type=\"text\/javascript\">.*<!--.*var jws1 = new.*SWFObject\(\"(.*)\",\".*\",\"(.*)\",\"(.*)\",\"7\",\".*\"\);.*jws1.addVariable\(\"id\", \"(.*)\"\);.*<\/script>#Uis", "#<script( language=\"javascript\"|) type=\"text\/javascript\".*>.*<\/script>#Uis", "# <li class=\".*\">(.*)<\/li>#Uis", "# <ul class=\".*\">(.*)<\/ul>#Uis", "# <div class=\"gg_embeddedIndex gg_solid\">.*<\/div>#Uis", "# <div class=\"gg_toOldGallery\">.*<\/div>#Uis", "# <div class=\"gg_embeddedSub.*\">.*<\/div>#Uis"); config['replace'] = array( "<embed type=\"application/x-shockwave-flash\" src=\"$1\" bgcolor=\"#000000\" quality=\"high\" allowfullscreen=\"true\" scale=\"noScale\" allowscriptaccess=\"always\" flashvars=\"id=$4&qual=medium&autoPl=false&buffer=6\" width=\"$2\" height=\"$3\">", "", "$1", "$1", "", "", ""); config['split'] = array("#<A HREF=\"([^\"]*)\">weiter...<\/A>#Uis", 1); config['use_utf8'] = true; |
Der Name der Datei ist frei wählbar. Das ist dann der Name, der auch in der URL steht – für den Golem Feed (config/golem.php) wäre die neue Feed Adresse also http://deineseite.de/rss_extender/?feed=golem. Wenn man nur http://deineseite.de/rss_extender/ ohne den feed Parameter aufruft, werden alle vorhandenen Feeds aufgelistet.
Kommentare:
- 1. Die eigentliche Adresse des Feeds.
- 2. Die normale Adresse der Seite.
- 3. Ein Array mit dem Regex für den Content und der Stelle im Regex bei der der Content ist – für mehrere Klammerungen.
- 4. – 11. Ein Array mit beliebigen Regexen nach denen gesucht wird.
- 12. – 19. Hier werden die Ersatzregeln für die Regexe eben angegeben – das Ganze ist hilfreich für Werbung im Content oder wie hier um Javascript Crap durch Flashcode zu ersetzen.
- 20. Wenn der Artikel aus mehreren Seiten besteht, kann hier ein Array angegeben werden, durch das die restliche Seiten geladen werden. Das funktioniert genauso wie bei Zeile 4.
- 21. Manche Umlaute im Content werden im Feedreader nicht richtig dargestellt – falls die Codierung der Webseite nicht stimmt, kann man das Ganze hier nochmal in UFT8 kodieren lassen – bei THG z.B. geht das auch so – da macht das zusätzliche kodieren eher noch was kaputt.
Sieht kompliziert aus – ist aber ganz einfach
– wer Fragen dazu hat, immer her damit!
[update] 13. Januar 2010
In der Zip-Datei sind folgende Feeds schon enthalten:
- www.golem.de
- www.heise.de
- www.heise.de/telepolis
- www.gulli.com
- www.nerdcore.de
- www.nfos.de
- www.pro-linux.de
- www.smashingmagazine.com
- www.ubuntugeek.com
- www.tomshardware.com/de
- www.sueddeutsche.de/topthemen
Dazu gibt es folgende Feeds von externen Autoren:


Sehr coole Sache – werde ich bei Gelegenheit mal ausprobieren, bin nur gerade nicht zu Hause und hab daher keinen Zugang zu meinem Server.
Danke für das Skript!
Pingback: RSS Extender – aus kurz wird wieder lang - aptgetupdate.de
Wow, das Ding ist einfach nur toll. Danke!
Vielen Dank für dieses tolle Script. Wenn die Anbieter es schon nicht für nötig halten, ihren vollen Feed anzubieten, so ist seit heute doch möglich. Klasse!
Coole Sache, muss ich mal testen!
sehr geile nummer. wird später direkt eingebunden
Hi Lars,
sehr geile Sache das!
Wie wäre es, wenn Du das Skript auf github legst?
So könnten wir evtl. mit daran entwickeln
VG Markus
Tolle Sache! Wäre es vielleicht möglich, suedeutsche.de noch in die Beispiele mit aufzunehmen? Ich denke, das ist eine Quelle die viele Leute als Feed lesen und die leider auch nur Short-Feed anbietet
Ich denke das fällt noch unter UrhG § 53 …
Ein PHP-Skript für genau diesen Zweck hab ich 2005 mal geschrieben. Auch u.a. für Heise Online, und Heise war der Auslöser, da es nervte, immer nur diese 1-Zeilen-Anreißer zu haben. Ich vermute, war bei Dir ähnlich
Leider hab ich den Code nicht mehr (Datentotalverlust). Und ich wollte das Ding auch konfigurierbar machen. So weit war ich nicht gekommen.
2 Schlaue, 1 Gedanke, sozusagen
Yeah! Mal wieder was, warauf ich WIRKLICH gewartet habe
Das wird später gleich mal ausprobiert!
Danke für die Arbeit!
Perfekt, vielen Dank!
Hat sich schon jemand die Mühe gemacht, die Konfiguration für TELEPOLIS zu erstellen?
Hab auch neulich sowas geschrieben, du bist mir mit deiner Veröffentlichung noch zuvorgekommen. Bitte nimm folgenden Bugfix noch mit auf: PHP-Script bitte mit “<?php" beginnen nur <? reicht nicht auf allen servern.
Hallo,
bei mir gibt das skript nach einigen sekunden folgende fehlermeldung:
Warning: MagpieRSS: Failed to fetch http://www.heise.de/newsticker/heise-atom.xml (HTTP Error: connection failed (11) in /var/www/vhosts/domain.tld/httpdocs/rssextender/magpierss-0.72/rss_fetch.inc on line 238
ich vermute magpie rss. Im temp-verzeichnis bestehen schreibrechte und http://www.heise.de wurde dort auch erstellt.
Wo könnte der fehler liegen?
ich habs: bei meinem hoster werden socket-verbindungen nicht zugelassen, stichwort Fsockopen. Die benötigt nagpie rss aber…
hauptsache http://www.nfos.de/ ^^ Du schlimmer finger
DANKE Lars!! DANKEDANKEDANKE.
Ich kann nur hoffen, dass heise nicht gleich wieder ihre Abwehr in Stellung bringt. Das achso offene Magazin stellt sich da ja teilweise richtig militant proprietär dar…
Ich hab das Skript mal geupdatet und den Artikel etwas geändert. In den Beispielen sind jetzt auch Telepolis und die Süddeutsche Zeitung enthalten. Die Änderungen machen das Hinzufügen neuer Feeds hoffentlich einfacher – außerdem ist mir durch den neuen Telepolis Feed ein Fehler aufgefallen, das ist jetzt auch behoben.
Ich wüsste nicht was von Rechtswegen gegen das Skript spricht, schließlich stehen da nur ein paar HTML Tags in den Beispielen. Was Ihr auf euren Servern damit macht – dafür kann ich ja nichts
@Lars: Erneut vielen Dank!
Genau – lass Dich davon nicht beirren. Ansonsten ist «RSS Extender» ja FOSS und somit die Verbreitung sowieso kaum noch aufzuhalten …
Apropos TELEPOLIS – im Feedreader funktioniert der Feed problemlos, Mozilla Firefox hingegen zeigt den Feed nicht sichtbar an, während im RSS-Quelltext alle Daten enthalten sind. Hast Du eine Idee, woran das liegen könnte?
Ich hab den telepolis Ordner bei mir im tmp mal gelöscht und im Firefox per F5 neu geladen – da wird alles angezeigt. Beim nfos Feed war vorhin ein < in einem Tag enthalten – dadurch hat sich der FF verschluckt – bei Telepolis kann ich aber keine solche Anomalie finden. Hm…
Vielen Dank für das Update mit der Süddeutschen, klappt gut
Ich habe mal auf http://pastebin.org/75395 den Code für die Tagesschau ge-paste-d, falls jemand Interesse daran hat. Scheint im ersten Versuch jedenfalls zu funktionieren.
Vielleicht kann man ja so ne kleine (Link-/Datei-)Sammlung machen und im obigen Artikel ergänzen?
Ich hab mal Bernds Vorschlag aufgegriffen und den Artikel nach unten hin erweitert. Falls jemand noch Feeds hat, die er gerne teilen möchte, werde ich diese auch als externe Feeds hinzufügen
Danke fürs aufnehmen
Für onlinekosten.de hab ich mal auch noch versucht, etwas zu bauen. Verwendung auf eigene Gefahr
http://pastebin.org/75515
Danke für das script, Lars!
Speziell wenn ich feeds vom Handy lese, wirds so wesentlich komfortabler.
Mit hat die Auflistung der Feeds nicht gefallen, deswegen habe ich sie etwas aufgehübscht.
Bei Intresse:
http://pastebin.org/75591
(In die Index.php ab Zeile 37 einfügen)
Hab mich mal schnell um den Feed von planet3dnow.de gekümmert:
http://pastebin.org/75623
lässt sich bestimmt noch verbessert..
Gruss
Chrugail
Könntest Du bitte mit Versionsnummern arbeiten?
Hi Lars,
super Script & sehr sinnvoll, kam genau zur rechten Zeit!
Irgendwie bekomme ich nicht hin den
A propos Zeit …
Newsfeed der Zeit zusammengesetzt zu bekommen. Hast Du eine Idee?
Danke S.
Hat jemand eine Idee, wieso folgende Konfiguration nicht funktioniert?
http://snipt.org/qnno
Ich hab für das Skript mal eine extra Seite und ein Projekt bei Sourcforge erstellt:
http://www.larsformella.de/lang/de/portfolio/programme-software/rss-extender/
http://sourceforge.net/projects/rss-extender/
Neue Feeds und Änderungen check ich dort ein. Ich denke das ist für alle einfacher
Hi,
Sehr cooles Projekt!
.
Ich liebe den Heise-Verlag für seine c’t, aber ich hasse ihn für den kastrierten Sinnlos-RSS. Das hat damit jetzt ein Ende
Leider sind die Links auf andere Artikel kaputt, sie sind wohl im Original relativ und zeigen jetzt auf meinen Server, was natürlich in Zimmer 404 endet. Könntest du das vielleicht noch fixen?
Danke und weiter so!
Bert
Martin: Die Config geht nicht, weil nach “post” noch eine id kommt, die hast du nicht berücksichtigt. So findet das RegExp nichts.
Versuch es mal mit
hmm mist, die comment-Funktion mag mich nicht
Martin: Probier mal http://pastebin.org/75999
Pingback: Tweets die LarsFormella.de » Blog Archive » RSS Extender erwähnt -- Topsy.com
@Bernd: Merci für Deinen Tipp. So erhalte ich Inhalte, aber leider jeweils doppelt – einmal nur den Titel mit plus Post-ID, danach den Titel mit dem eigentlichen Inhalt.
Screenshot: http://img694.yfrog.com/img694/6441/bildschirmfoto20100117u.png
Weitere Ideen?
Zwei Wünsche:
1. airbuspilot.ch (wie Martin)
2. hossli.com
Sorry. Ich komme einfach nicht klar mit der Konfiguration.
Bzgl. Airbuspilot schaut euch mal http://pastebin.org/78083 an, klappt bei mir soweit.
Hab die configs nochmal überarbeitet…
airbuspilot.ch http://pastebin.org/78120
hossli.com http://pastebin.org/78119
@Bernd: Vielen Dank, airbuspilot.ch funktioniert nun ziemlich gut – lediglich das «id=”…”>» am Textbeginn stört noch.
hossli.com kannte ich bislang nicht. Bei mir werden im RSS-Feed die Sonderzeichen nicht korrekt umgesetzt. Ist das bei Dir anders?
Sind im svn: http://rss-extender.svn.sourceforge.net/viewvc/rss-extender/config/
Wenn jemand das selbst einchecken möchte, reicht ein SourceForge Account
@Martin: Im Quellcode meines Test-Feeds ist kein id=”…” vorhanden. Vielleicht musst du den Temp-Ordner nochmal löschen? Umlaute werden mit meinen beiden letzten Versionen auch korrekt dargestellt. Vielleicht in deinem Feed-Reader ein falscher Zeichensatz?
@Lars: Nur, falls man da direkt online bearbeiten kann
Extra einen svn-Client will ich mir eigentlich nicht einrichten.
@Bernd: Jetzt funktioniert es – ich musste tatsächlich auch noch den tmp-Ordner löschen, dessen Existenz mir bislang gar nicht bewusst war (neben dem cache-Ordner). Vielen Dank für Deine Unterstützung!
Pingback: Anonymous
In den letzten Tagen erhielt ich Beiträge aus dem Heise Online-Feed jeweils zwei Mal – zuerst mit dem regulären Datum, danach jeweils mit dem 1. Januar 1970. Besteht das Problem noch bei anderen?
Ich verwende die mitgelieferte Konfigurationsdatei für Heise Online.
Hi!
Vielen Dank für das super Script! Ist jemand fähig, eine Config für spiegel.de zu generieren?
Grüße Holger
Der Heise Online-Feed funktioniert wieder … dafür bekunde ich aktuell gerade Mühe mit http://theautomaticearth.blogspot.com/ – meine Konfiguration erwischt gerade nur zwei der 25 per RSS verfügbaren Blogeinträge. Ideen?
http://snipt.org/vlgp
warum nicht
Noch ein Wunsch:
http://wirtschaftquerschuss.blogspot.com/
Ich hätte da auch noch einen Wunsch
http://www.spiegel.de/panorama/index.rss
Gruss MO
Ich weiß nicht, inwieweit das Projekt noch aktiv ist, aber nachdem ich zu All-Inkl gewechselt war, lief das Script nicht mehr. Ich bekam immer eine Fehlermeldung zum HTTPrequest. Diese Funktion ist scheinbar in irgendeiner PHP-Version fest definiert und darf nicht anderweitig als Name benutzt werden.
Ich habe daher einfach in der httprequest.php und in der index.php überall vor den Funktionsnamen ein rss_ gesetzt, jetzt läuft es wieder.
Pingback: Gekürzte RSS-Feeds in die Länge ziehen Teil 2 | Technical-Life
Pingback: Anti Full Feed RSS Stimmung | Centurios Blog
Bei Golem wird alles, was nach einer Bildergalerie kommt, nicht mehr angezeigt. Wie kann man das fixen?
Wird der RSS Extender noch weiterentwickelt?
Kann man ihn in Tiny Tiny RSS einbinden?
1. Ja, allerdings ist er momentan eigentlich stable und ich sehe keine großartigen Verbesserungsmöglichkeiten
ist das ein Feedreader?
2. Ich kenne das Programm nicht und sag einfach mal ja
Hallo Lars,
ich habe mit einigen Feeds Probleme, die sehr lange URLs verwenden.
Diese können nicht gecached werden, da der Dateipfad zu lang wird.
Wäre es möglich ein anderes Datenfeld als die URL für den Dateinamen zu verwenden.
Außerdem funktionieren einige der Feeds nicht mehr.
z.B. Heise, Telepolis, Golem
Da bekomme ich nur einen komplett leeren Feed.
Das mit den lange Dateinamen ist in Version 0.4 behoben – siehe https://rss-extender.svn.sourceforge.net/svnroot/rss-extender/index.php
Golem und Heise gehen bei mir – du solltest vll. mal ein Update aus dem SVN machen – wenn die Configs ab und zu nicht mehr gehen, fixen wir die im SVN – siehe http://rss-extender.svn.sourceforge.net/svnroot/rss-extender/config/
Für Mac & I von Heise Online wäre eine Konfigurationsdatei toll!
Moin, hab das Script mal vor ein paar Tagen bei mir Installiert (SVN Version) – läuft soweit super, danke dafür. Heut fiel mir dann eher zufällig auf, das auf golem.de und gulli.com ein Teil der News fehlt. Golem und Gulli haben zwischen Newstitel und Newstext noch einen Einleitungsabsatz. Der fehlt bei mir.
Als Beispiel mal von Gulli: http://www.gulli.com/news/16798-nordkorea-soll-sich-an-online-games-bereichern-2011-08-07
Im Feed fehlt bei mir der fettgedruckte Absatz “Kim Jong Batman
Die New York Times berichtet, Nordkorea soll im Auftrag des …”.
Ein Beispiel von golem: http://www.golem.de/1108/85532.html
Dort fehlt im Feed der Absatz der mit “Im Rahmen der von Lulzsec gestarteten Operation…” startet.
Hab mir die configfiles zwar angeschaut, aber mangels Plan hat das zu nichts geführt
Wer super, wenn die wer fixen könnte.