RSS-Feed Generator für Ebay, Quoka, Twitter etc.

Lange nutze Ich schon mein kleines Helferskript produktiv, welches eigens definierte Suchanfragen an bestimmte Dienste auswertet und einen universell einsetzbaren RSS-Feed generiert. Das Python-Skript ermöglicht es, zu Internet-Diensten wie Twitter, Soundcloud, Ebay, Quoka, usw., Feeds aus eigenen Suchanfragen zu generieren. Diese wiederum können in einem sogenannten RSS-Reader lokal auf dem Rechner, im Web oder auf dem Smartphone gesammelt und gelesen werden. Das bedeutet konkret: Neue Tweets eines gewünschten Benutzers oder z.B. neue Beiträge einer bestimmten Sendung der ARDmediathek können an einer zentralen stelle gesammelt und gelesen werden.
So muss Ich mir nicht die mühe machen bei jedem einzelnen Dienst seperat und manuell nach Neuigkeiten zu suchen sondern werde quasi automatisch über Aktualisierungen informiert.

Das Python-Skript setzt neben zahlreicher Module vorallem das Web-Framework Bottle ein und lässt sich somit einfach auf dem Server oder auch lokal für eigene Zwecke betreiben (siehe Installations-Anweisung). Testweise kann aber auch die Installation auf unserem Server verwendet werden (siehe Beispiele). Die Anleitung gillt für ArchLinux-Systeme und deckt nicht alle Konfigurationsschritte im Detail ab. Vorkenntnisse darin und in der Verwendung von RSS-Feeds werden vorausgetzt.

Plugins

Einige der “Plugins” des RSS-Feed-Generators sind unvollsändig oder haben noch einige Fehler. Zudem sollte angemerkt werden, dass bei der Entwicklung keine Sicherheitsaspekte berücksichtigt wurden. Ich rate also eher davon ab, externen Zugriff auf das Skript zuzulassen.

twitterGeneriert mit Angabe des Twitter-Benutzernamens einen RSS-Feed zur Twitter-Timeline
quokaOptionen: /. Erstellt einen Feed zum übergebenen Suchbegriff und Suchort für das Kleinanzeigenportal Quoka
ebaykleinanzeigenGenau wie Quoka, ein Feed für Ebay Kleinanzeigen Suchanfragen
ardmediathekFeed mit Sendungen und direkten HQ Media-Enclosures zu den Video-Dateien. Möglichkeit, den Feed nach bestimmten Kriterien zu filtern.
artemediathekSendungen mit Video-Dateien als RSS-Feed
soundcloud Timeline eines Soundcloud-Benutzers als RSS-Feed mit integrierten Media-Enclosure direkt zum MP3-Stream
 

Beispiele

Suchen nach einem Regal bei Ebay Kleinanzeigen in der Stadt Karlsruhe mit einem Mindestpreis von 10€ und maximal 3 Einträgen:

https://onny.project-insanity.org/feeds/ebaykleinanzeigen/karlsruhe/regal?minprice=10&maxentries=3

Suchen nach einem Klavier in Stuttgart mit einem Suchradius von 10km und einem Maximalpreis von 100€:

https://onny.project-insanity.org/feeds/ebaykleinanzeigen/karlsruhe/klavier?radius=10&maxprice=100

In der ARD-Mediathek die Sendung ZAPP mit der Sendungsnummer 3714742 raussuchen und nur Folgen aggregieren, die im Titel “ZAPP – Das” oder “ZAPP – Die” tragen (nur für Folgen in ganzer Länge):

https://onny.project-insanity.org/feeds/ardmediathek/3714742?filter=ZAPP%20-%20Das,ZAPP%20-%20Die

Tweets des Benutzers ioerror auf Twitter.com folgen:

https://onny.project-insanity.org/feeds/twitter/ioerror

Audio-Beiträge des Benutzers lorenzkalman auf Soundcloud.com folgen:

https://onny.project-insanity.org/feeds/soundcloud/lorenzkalman

Einrichten unter ArchLinux

Hier eine kleine Anleitung, wie man das Skript, welches die RSS-Feeds erstellen soll, auf seinem eigenen Server oder lokal einrichten kann. Folgende Programme, mehrere Python Module, ein Web-Server und ein Python-Interpreter (uwsgi-python) werden benötigt:

pacaur -S python-requests python-beautifulsoup4 python-pyrss2gen python-bottle python-feedparser python-requests-cache nginx uwsgi-plugin-python
git clone https://git.project-insanity.org/onny/py-feeds.git /var/www/feeds
chown -R http:http /var/www/feeds

Das Python-Skript befindet sich nun im Ordner /var/www/feeds/ und genau dieser Ordner wird nun in der UWSGI-Konfiguration angegeben, die zudem noch den Port festlegt, an den der Web-Server später seine anfragen weiterleiten kann.

[uwsgi]
plugins = python
socket = 127.0.0.1:9001
chdir = /var/www/feeds
master = true
file = app.py
uid = http
gid = http

Beispiel einer Nginx-Konfiguration (von dieser Anleitung abgeleitet). Der Web-Server reagiert hier auf Anfragen an die Domain localhost und speziell auf die Seite /feeds, welche wiederum an den UWSGI Python-Interpreter auf 127.0.0.1:9001 lokal weitergegeben werden.

upstream _bottle {
        server 127.0.0.1:9001;
}

server {
        server_name localhost;
        access_log /var/log/nginx/localhost.feeds.access.log;
        error_log /var/log/nginx/localhost.feeds.error.log;
        root /var/www/feeds/;

        location /feeds {
                try_files $uri @uwsgi;
        }

        location @uwsgi {
                include uwsgi_params;
                uwsgi_pass _bottle;
        }
}

Der Web-Server und UWSGI sollen automatisch gestartet werden und als System-Dienst im Hintergrund laufen:

systemctl enable uwsgi@feeds nginx
systemctl restart uwsgi@feeds nginx

Starten Dienste und das Skript fehlerfrei, sollte unter der URL http://localhost/feeds sich schon das Python-Skript zu Wort melden.

To be continued …

In der aktuellen Version von bottle 0.12 existiert noch ein Bug der Probleme mit Umlauten in der URL verursacht, deswegen liegt in der aktuellen Version noch eine gepatchte Version von bottle bei die bevorzugt vom Python-Skript verwendet wird.
In Zukunft würde Ich gerne noch Inhalte aus anderen Mediatheken aggregieren, wie z.B. die Arte- oder ZDF-Mediathek. Desweiteren ist das Plugin-System noch nicht so Modular wie es sein sollte.
Sobald es möglich ist bei OwnCloud Kalender zu abonnieren würde Ich auch an einem anderen Skript weiterarbeiten, dass iCal-Kalender-Feeds aus Seiten generiert, die Termine und Veranstaltungen anbieten, aber keine möglichkeit diese Informationen zu abonnieren.

“zu Internet-Diensten wie Twitter, Soundcloud, Ebay, Quoka, usw.”

und WO genau ist das ebay script wohl versteckt????

lg

@michel: Stimmt, das habe Ich falsch formuliert. Gemeint ist Ebay Kleinanzeigen. Könntest du auch ein Plugin für Ebay gebrauchen?

hallo onny!

jaaaaaaaaaaaaaaaaaa ;-)
nur deshalb bin ich hier gelandet, da diese ihbay vollpfosten ide eh nur noch inoffizelle rss möglichkeit seit vergangener woche komplett unmöglich gemacht haben, also über ihbay direkt.
hab so an die 1000 artikel beobachten können, was nun nicht mehr möglich ist, da es auch original KEIN gescheites programm gibt, jedenfalls unter os x, win hab ich noch nicht geschaut.
neben den ihbay suchen, hab ich noch rund 400 weitere rss feeds abonniert und mir ist es ein rätsel wie man die info flut ohne rss bewältigen könnte….

wenn du nen ebay script bereitstellen würdest, würde ich ein fest schmeissen und dir nen kaltgetränk nach wahl ausgeben ;-)

liebe grüsse

hi onny.

ich bin schon lange auf der suche nach einer rss feed möglichkeit für ebay kleinanzeigen.
diese idioten haben ja diese funktion abgestellt :-(

könntest du mir bitte dieses plugin schicken ??
oder mir sowas bereitstellen ?

mfg

Christian: Oh sorry, da ist leider gerade nichts richtig aufgesetzt. Kann Ich dir die Sources via. Mail zukommen lassen?

Hi Onny. This is brilliant!
Do you mind hosting this as a project in say, Github or so ? Your git clone returns a 403. Or please share the sources somewhere accessible.
Thanks!

bin auch gerade auf der suche nach einem ebay-Kleinanzeigen-Parser hier gelandet… könntest du das Script mal veröffentlichen (github wäre natürlich am genialsten, dann könnten andere dran weiterentwickeln, aber ich nehm’ zur Not auch ‘ne Mail ;)

Hey Onny,

genau danach such ich schon ne Weile! Hast du das Skript mittlerweile schon veröffentlicht? Oder kannst du es mir auch per Mail schicken? Vielen Dank!

Guten Abend,
ich bin gerade auf dieses interessante Projekt gestoßen :)
Funktioniert das ganze noch wie vorgesehen?

Lg

Frohes Neues Onny,

Ich interessiere mich eine parsing programm für ebay kleinanzeigen zu schreiben.
Wann was ähnliches gibt würde ich nicht von null anfangen.
Wie Kann ich deine script testen (links funktionieren nicht)? Wo hast du die Sourcecode Veröffentlicht?

Danke Schön!

@Ven: Danke für dein Interesse. Aktuell funktionieren die Quoka und Ebaykleinanzeigen Plugins nicht mehr. Kann leider nicht sagen, wann Ich die Arbeit daran wieder aufnehmen werde …

18 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

* Checkbox GDPR is required

*

I agree

Software
Virtual 3D online exhibition with MapBox GL JS

For my last semester in university (summer semester 2018) at the KIT, I was part of a project to create an “online art exhibition”. We planned to produce different media formats in smaller groups. One for video, another for text and promotion and one for the online presence. I’ve figured …

Software
Host your own Mapbox GL JS vector tiles map

I’ve done some research recently on how I could host my own online map viewer with a MapBox GL JS instance, an excellent and modern open-source alternative for Google Maps. The server should also serve own preprocessed map data from OpenStreetmap planet extracts. No external or third-party service will be …

Software
1
Easily setup Signal 2FA on Nextcloud 14

Two-factor authentication (short 2FA) is an important security concept to secure unauthorized access to your web applications. Popular online services like Google Mail, Instagram or Facebook already provide this mechanism to secure user accounts with an additional one-time token. Considering someone is able to obtain your username and password combination, …