New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RSScrawler crawlt nicht mehr #261
Comments
Kannst du auf Python 3.5 oder neuer updaten? Ich seh mir schnellstmöglich an. |
Hast du die Möglichkeit, den RSScrawler ohne pip (die alte manuelle Methode) laufen zu lassen und in der betroffenen Zeile: Ein u vor Muss vermutlich angepasst werden auf:
Wenn es dann läuft kann ich das heute abend fixen. |
Verwende das Standard python der Synology, für 3.5 müsste ich wohl wieder zu optware greifen. Das zusätzliche u bringt leider keine Änderung! |
Hm, wenn das u nicht hilft, fehlt mir fürs erste ein Lösungsansatz. Probier bitte unbedingt Python 3.5 (besser sogar 3.7) https://www.synology.com/de-de/dsm/packages/py3k sieht offiziell aus.. |
Habs jetzt mit python 3.5 probiert! Der UnicodeDecodeError ist weg und es steht dass der nächste Suchlauf dann in 11m 18s stattfindet. Auch der Testlauf läuft durch. |
Sehr gut, dann schließe ich das issue, da der fehler auf travis-ci mit python 2.7 nicht erscheint. https://travis-ci.org/rix1337/RSScrawler/jobs/449699492 Der Crawler selbst crawlt nur, was du ihm vorgibst und aktuell auf den Feeds von MB/SJ etc. überhaupt gefunden werden kann. Prüf mal deine Suchlisten. Wenn wirklich gar nichts gefunden wird, kannst du deine DB und INI bereitstellen. An sich ist der DEBUG-Log dein bester freund. Dort steht, warum etwas nicht geaddet wurde, wenn der Crawler ein Release findet und ignoriert. |
Ja klar, meine db und ini ist seit Version 4 im Einsatz. Ich starte den Crawler mal mit |
Travis könnte noch viel mehr, ich nutze das nur um zu sehen ob der aktuelle commit überhaupt auf den verschiedenen Python versionen startet. Um myJD zu testen müsste ich öffentlich zugangsdaten für MyJDownloader mitgeben und damit einen echten jdownloader laufen lassen, der darüber steuerbar wäre... keine gute idee 😜 Schau dir den DEBUG log gerne genau an. Gerade wenn dort nichts stehen sollte, du aber definitiv ein release von hand selber findest, gib bescheid. Der Crawler ist nur mittlerweile so clever, dass er nur soweit läuft, wie beim letzten suchlauf. D.h. wenn alles glatt läuft und nichts neues auf den feeds steht, sollte der suchlauf nur ein paar sekunden dauern. |
In den Serien(Regex) steht:
|
Einen cdc-reset hab ich auch schon gemacht! |
Ah, mist, ich hatte kürzlich etwas am Handling der Releasetitel geändert, damit ein Listeneintrag wie bspw. Versuch mal deine RegEx einträge ohne Wenn das geht, passe ich die RegEx Hinweise an. Mir ist es lieber das die Suche genauer ist, statt im RegEx vorne noch nach DEUTSCH/ENGLISCH unterscheiden zu können. Dazu wäre stattdessen auch einfach ein .German. im RegEx-Eintrag nutzbar. |
Danke für den Hinweis, ohne DEUTSCH funktioniert es :) |
Sehr schön. Dann passe ich den Hinweis im Hilfe-Bereich an |
Passt du das also nicht mehr an? https://github.com/rix1337/RSScrawler/blob/master/rsscrawler/sites/sj.py#L61 |
Nein, da die Prüfung auf eckige Klammern auch im RegEx verhindert, dass falsche Episoden geaddet werden. Wie oben beschrieben wird sonst bspw. bei |
Die Groups releasen wie gesagt eh nur deutsch, ansonsten einfach im Regex noch ein |
Ok, danke für die Aufklärung - wollt nur mal nachfragen ;) |
Hallo, bei mir tritt ebenfalls oben genannter Fehler auf. Daraufhin habe ich https://www.synology.com/de-de/dsm/packages/py3k installiert und den rsscrawler nochmal mit python3 -m pip install rsscrawler installieren lassen. Wenn ich jetzt jedoch rsscrawler per ssh ausführe, wird der rsscrawler über das bei Synology bereits vorinstallierte Python 2.7 gestartet. Wie kann ich ihn über Python 3.5 laufen lassen? MfG |
Gute Frage,.. versuchs mal mit Versuchs in dem Fall rsscrawler mit dem python2 pip zu löschen und dann nochmal für python3 zu installieren.
Beide befehle per root bzw. sudo ausführen. |
In v.5.2.9 sollte der Fehler für Python 2.7 eigentlich gefixt sein. Release kommt gleich. |
Der Rsscrawler lässt sich über putty nun problemlos mit Python 2.7 und 3.5 ausführen, aber wenn ich versuche eine Aufgabe im DSM zu erstellen, bekomme ich wenn ich "rsscrawler" eingebe folgenden Fehler: Traceback (most recent call last): Wenn ich den rsscrawler stattdessen mit 3.5 ausführe, kommt die ähnliche Meldung: Traceback (most recent call last): |
Ich habe keine diskstation. Du musst aber sicherstellen dass auch die Aufgabe immer das encoding der Laufzeitumgebung richtig setzt. Bau dir am besten ein Script das die Befehle von oben nacheinander ausführt:
Wenn du dort gleich alle drei Befehle angeben kannst, geht es auch ohne Script. |
Probier mal |
Das sollte als einzelner Befehl reichen |
Ein Fehler behoben und nun bahnt sich scheinbar schon der Nächste an. Immerhin lässt sich der crawler nun über das Script starten... Standardausgabe/Fehler: Wenn ich ihn manuell ausführe, übernimmt er den Pfad den ich schon eingegeben habe. ┌──────────────────────────────────────────────┐ Vielen Dank schon mal für die Hilfe! |
Ich starte den RSScrawler auf der Synology über den Aufgabenplaner - Benutzerdefiniertes Script
Wobei /volume1/data/Sicherungen/Synology/RSScrawler der Pfad ist wo die db, ini und das log liegen! Bei mir funktioniert das (mit python 2.7, RSSCrawler 5.2.10 und RegEx Einträgen ohne DEUTSCH am Anfang)!!! |
@Norax1995 das ist kein fehler. Du musst dem Crawler beim ersten Start die Zugangsdaten mitteilen. Das geht natürlich nicht, weil die aufgabenplanung im Hintergrund läuft. Gib deine my JDownloader Daten über die startparameter mit |
Wenn ihr es zum laufen bekommen habt, wäre eine Schritt für Schritt Anleitung mit Screenshots perfekt fürs Wiki. |
Auf der Synology ist standardmäßig python 2.7 vorhanden, daher habe ich eigentlich nicht mehr gemacht als: 1.) Per SSH (als root über sudo -i)pip nachinstalliert mittels
2.) RSScrawler installiert mittels
3.) RSScrawler in den Aufgabenplaner (Benutzerdefiniertes Script) eingefügt mittels
Die ini, db & das log lagen dann im angegeben Pfad (der beliebig gewählt werden kann) und den Rest hab ich per Webinterface eingestellt! |
Sorry, fast vergessen! Der erste Start muss über SSH erfolgen - Pfadangabe & MyJDLogin Habe das ganze nochmals auf meinem VirtualDSM durchgespielt und es geht :) |
Bei mir funktioniert es jetzt auch ohne Fehlermeldung! Vielen Dank :) Was ich noch ergänzen kann ist, dass ich anfangs den Fehler "Cannot call rmtree on a symbolic link" bekommen habe, als einzelne requirements installiert werden sollten, da noch alte Versionen von "Werkzeug" und "Jinja2" installiert waren, die nicht gelöscht werden konnten. Diese habe ich einfach mit pip uninstall gelöscht und danach lief es mit der neusten Version wie @DKeppi geschrieben hat. Mein Rat ist es einfach, sämtliche Python Versionen von Synology und Drittanbietern zu deinstallieren und das ganze am besten mit dem integrierten Python 2.7 laufen zu lassen, solange es noch unterstützt wird! |
Habe schon die db gelöscht, alles neu eingetragen aber es wird nichts gecrawlt.
Auch ein Testlauf bringt kein Ergebnis.
Im log des Crons steht
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/rsscrawler/RSScrawler.py", line 139, in crawler
total_time) + ")! Wartezeit bis zum nächsten Suchlauf: " + readable_time(wait))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 22: ordinal not in range(128)
Starte den RSScrawler mit:
killall rsscrawler
export PYTHONIOENCODING=utf-8
rsscrawler --config="/volume1/@appstore/RSScrawler-master"
Das hat bisher immer funktioniert!
The text was updated successfully, but these errors were encountered: