rix1337 / feedcrawler Goto Github PK
View Code? Open in Web Editor NEWFeedCrawler automatisiert bequem das Hinzufügen von Links für den JDownloader.
License: MIT License
FeedCrawler automatisiert bequem das Hinzufügen von Links für den JDownloader.
License: MIT License
@# [RSScrawler] Request
In meinem Issue: 88 habe ich @rix1337 nach der Möglichkeit gefragt, auf MB alles was neu ist (RSS-Feed von MB) von einer bestimmten Releasegroup runterladen zu lassen. Sprich: *-Releasegroup.
Ich würde mich freuen die Funktion im RSScrawler bald zu sehen ;).
Liebe Grüße,
Itsie
Hallo,
kann es sein, dass Jdownloader aktuell die Captchas nicht gelöst bekommt ?
benutze 9kw und es wird nichts gelöst...
Vorher ging alles wunderbar
Danke
Pull Request erwünscht der einen Webserver implementiert um:
-Zunächst den Log anzuzeigen (INFO sollte reichen (evtl gleich mit DEBUG Funktion) & diesen Dynamisch "nachläd"
-Die Einstellungsdatei zu bearbeiten (& den Prozess neu zu starten)
-Die Textlisten zu bearbeiten
(Wünschenswert wäre ein simples, ansprechendes Design, bspw. auf Bootstrap aufgebaut)
Hi,
mir ist aufgefallen, dass der docker recht groß ist. ~700mb
Ich schätze man kann einiges an Platz einsparen wenn man ein schlankeres Basesystem verwenden würde.
wenn das allerdings zu viel aufwand ist, darfst du diesen Issue gerne ignorieren :)
Danke
Für einige Nutzer ist es sicherlich hilfreich, die Suchfunktion über Proxy-Server laufen zu lassen.
Dringend zu behebender Bug. Scheint von Beginn an enthalten zu sein?!
In der aktuellen Version des Browsers Safari (10.0.1) können die aufscheinenden Dialogfenster nicht benutzt werden. Sie poppen korrekt auf, jedoch bleiben sie unverändert und konstant stehen, egal welcher Button geklickt wird (OK/Abbrechen).
Einzig ein Reload der Seite lässt die Dialogfenster wieder verschwinden, jedoch natürlich ohne jegliche Änderung der zuvor angeklickten Funktion.
Keine Probleme dieser Art in Firefox (49.0.2)
-macOS Sierra 10.12
-Safari (10.0.1)
-Version des RSScrawlers: v.2.2.2
Keine Fehlermeldung im Log.
Wenn regex, crawl3d oder mbstaffeln = False
Liste ausblenden
Habe einen Fehler in der aktuellen Version 3.0.9 entdeckt!
Speicher ich die Suchlisten mit dem oberen Speichern Button, wird normal neugestartet und alles ist gut!
Speichere ich aber mittels unterem Speichern Button (der nach Unterordner nutzen aktiviert/deaktiviert), dann wird der pushbullet Token entfernt und die Crawljob Einstellungen auf Standard zurückgestellt (beides aktiviert)!
GENIAL!
Klappt wirklich wunderbar - Klasse arbeit!
Hi rix1337, erstmal Hut ab für die grandiose Arbeit. RSScrawler läuft bei mir auf der Synology 1a!
Ich hätte noch einen bescheidenen Verbesserungsvorschlag:
Den HD-area Pyload Hook kennst du sicher. Dieser konnte nach IMDB Wertung suchen und man konnte einen Schwellwert festlegen. MB bietet das ja auch auf der Seite, sollte also nutzbar sein. Würde mich freuen, wenn Du das umsetzen könntest!
Hier der Link zum damals super funktionierenden Projekt von GutzPilz: https://github.com/Gutz-Pilz/pyLoad-stuff/blob/master/HDAreaOrg.py
Um cutoff wirksamer zu machen, separate Liste für 3D-Filme anlegen
If the script does not find a link (the script returns a list containing "None" for download_link
a crawljob will still be created.
3Dcrawler mind. in IMDB nutzt nicht den RSScrawler/3Dcrawler Pfad.
Mein Betriebssystem ist Slackware/UnRaid
Fehlerbeschreibung:
mit diesen RegEx Einstellungen passiert es mit das er dann als Resultat den selben Film teilweise über 50+ mal "findet". Das interessante daran ist das die neuen Resultate immer im Abstand von mit 10 Minuten sind was meiner Einstellung für den Suchintervall entspricht.
EDIT: Entfernt nach Problemlösung
EDIT: Entfernt nach Problemlösung
Hier der komplette Log:
EDIT: Entfernt nach Problemlösung
Default crawling behavior would be filtering out 3D and only adding 720p quality. If one similarly would want to add 3D HSBS version in acceptable (1080p) quality to .crawljobs a separate option would be required.
e.g. crawl3d = true/false
would launch a separate logic that does not filter out 3d, but would instead look for 3D as well as 1080p (hsbs, even?) in the [MB] feed. Thus require 3d (or 3D) in a release title
Print INFO log to file
If a ressource on MB/SJ does not exist, the script crashes.
Exception in thread Thread-154:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 1073, in run
self.function(*self.args, **self.kwargs)
File "/config/RSScrawler.py", line 72, in wrapper
func(self)
File "/config/RSScrawler.py", line 561, in periodical_task
download_link = common.get_first(self._get_download_links(value[0], self._hosters_pattern))
File "/config/RSScrawler.py", line 506, in _get_download_links
tree = html.fromstring(requests.get(url).content)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 596, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='XXX', port=80): Max retries exceeded with url: XXX/ (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x2afaccdde4d0>: Failed to establish a new connection: [Errno -3] Try again',))
Vermutlich reagiert der Webserver auf zu viele aufeinander folgende Anfragen mit diesem Fehler.
Läßt sich sicher mit einer kurzen Wartezeit (sleep) beheben. Ansonsten muss der Fehler bemerkt und die Funktion (nach Wartezeit) erneut ausgeführt werden..
The Settings.ini should automatically be generated like this: (with comments above each option), instead of just adding the default sections.
To achieve this rssconfig.py could add the default Settings.ini like this:
'# ' + comment + '\n' + key + ' = ' value
which will be output in the Settings.ini
See an example Settings.ini with current defaults below:
[MB]
# List of Movies - Each line should contain one Movie title
patternfile = /config/Settings/Lists/Movies.txt
# Database used to ignore already downloaded Releases in the future
db_file = /config/Settings/Databases/Downloads_MB.db
# JDownloaders folderwatch directory for automatic link adding - Enable folderwatch!
crawljob_directory = /jd2/folderwatch
# Ignore pattern - Comma seperated list of Release tags to ignore
ignore = ts,cam,subbed,xvid,dvdr,untouched,remux,pal,md,ac3md,mic,hou,xxx
# Execution interval of the script in minutes
interval = 15
# Quality to look for in Release titles - 480p, 720p or 1080p
quality = 720p
# Add your Pushbullet-API key if you want to be notified
pushbulletapi =
# Hoster to load from on MB - OBOOM, Uploaded, Share-Online or Zippyshare
hoster = Uploaded
# Use search function - Disable if you only want current Releases to be added
historical = True
# Crawl for 3D versions of Movies - in 1080p, regardles of quality set above
crawl3d = False
# If release without DL tag is added, look for DL release - ignoring quality setting
enforcedl = False
# Crawl complete Seasons on MB
crawlseasons = False
# List of shows, to crawl for complete seasons - May be equal to SJ file
seasonslist = /config/Settings/Lists/Shows.txt
# Quality of complete seasons to crawl for - 480p, 720p or 1080p
seasonsquality = 720p
# Source tag to look for in complete seasons - e.g. bluray, web-dl or hdtv
seasonssource = bluray
[SJ]
# List of Shows - Each line should contain one Show title
file = /config/Settings/Lists/Shows.txt
# Database used to ignore already downloaded Releases in the future
db_file = /config/Settings/Databases/Downloads_SJ.db
# JDownloaders folderwatch directory for automatic link adding - Enable folderwatch!
crawljob_directory = /jd2/folderwatch
# Reject list - Semicolon seperated list of Release tags to ignore
rejectlist = XviD;Subbed;HDTV
# Execution interval of the script in minutes
interval = 15
# Add your Pushbullet-API key if you want to be notified
pushbulletapi =
# Language to load Shows in - DEUTSCH or ENGLISCH
language = DEUTSCH
# Quality to look for in Release titles - 480p, 720p or 1080p
quality = 720p
# Hoster to load from on SJ - ul, so, fm, cz, alle
hoster = ul
# Treat entries of the List as regular expressions - for advanced use cases
regex = False
Ich habe ein Problem, wenn ich lxml installieren will. Ich bekomme immer die Fehlermeldung:
" Setup script exited with error: command '/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc' failed with exit status 1"
Wenn ich "gcc -v" eingebe -> gcc version 5.3.0 (GCC)
Vielen Dank schonmal für die Hilfe :)
CSS kann Select-Inhalte nicht richtig zentrieren.
JS hingegen schon.
Hi,
gibt es die Möglichkeit das ganze auch via qNap zu nutzen, notfalls ohne Autosetup.
LG
Keeping the config sections in a separate file would help keep script-changes to git and API-Keys and such secret.
Requirements:
MBstaffeln sollte nur einzelne Staffeln statt ganzen Paketen adden (mehrere dutzend GB)
vgl. Sonarr:
Sobald bspw. Titel.JAHR.German.DL.XXXp.BluRay.x264-Group
hinzugefügt wurde, Eintrag aus MB_Filme.txt
löschen
Hallo rix1337,
Zurst mal danke für dieses tolle Tool, funktioniert wir am Schnürchen.
Verwende es auf einer Synology und scrape damit SJ Serien.
Nun zur eigentlichen Frage:
Lässt es sich evtl. machen in dein setup.sh ein Updateprozedere einzubauen, dh. wenn RSScrawler schon installiert ist, das so Dinge wie Einstellungen, Datenbanken und Textfiles (Regex.txt etc.) erhalten bleiben?
Wenn ich aktuell das Script ausführe wird alles auf neu zurückgesetzt :(
Danke & Grüße
DKeppi
Wäre eine Dokujunkies-Integration möglich? Soweit ich weiß, bieten die ja keinen RSS-Feed an.
http://tvdb.cytec.us/ - das ist ein echt klasse projekt.
soweit ich weiß sogar mit api anbindung - sollte also super sein um aktuelle serien/folgen zu bekommen und diese dann auf serienjunkies zu suchen.
mir kommt es nämlich manchmal so vor, dass der feed lücken auf weist.
Leider ist es noch beta und man muss ne kurze nachricht im forum schreiben um zugang zu bekommen.
wenn du interesse hast, dann gebe ich dir auch gerne mein zugang :)
Es fehlen noch:
Wird bspw. Foo.bar.S02E01-E03 im Feed gefunden, aber auf der Unterseite einzeln eingestellt, kann das Script derzeit keine Links finden.
Feed:
Foo.bar.S02E01-E03
Unterseite sj\serien\foo-bar\s02:
Foo.bar.S02E01
Foo.bar.S02E02
Foo.bar.S02E03
Es müsste also im Script ein solches Paket erkannt und aufgeteilt werden in Einzelsuchlinks.
Currently, crawlseasons works in an awesome way, but it adds all kinds of seasons types.
Three solutions:
add ignore=webdl,amazonhd,ituneshd,web-dl,hdtv (which then also applies to Movies)
default crawlseasons to bluray (not optimal, but works)
add another option seasonformat=web-dl/bluray/hdtv
Hi rix1337,
hätte da ein paar Ideen die mir das Leben mit deinem Plugin etwas erleichtern würden, besonders nach einem Update.
Ich passen manuell in der common.py immer die Werte zum Downloadfolder (will keinen Unterordner RSScrawler) und auch zu den erstellten crawljobs (kein autom. Download, kein autom. Start etc.) an.
Viell. könnte man das alles im Webserver integrieren (zB. Checkbox für die TRUE/FALSE Werte und Feld für Downloadpfad)?
Sind wie gesagt nur Ideen, aber das würde den Crawler noch perfekter machen :)
Grüße
DKeppi
print('Der Webserver ist erreichbar unter ' + socket.gethostbyname(socket.gethostname()) +':' + str(port) + '/' + prefix)
Nach Update von RSSCrawler bekomme ich das Script nicht mehr gestartet.
-Betriebssystem
Debian 8.5 / Auf virtualisiertem Container einer QNAP Nas
-Version des RSScrawlers (mindestens 2.x.x)
v.2.0.5
Die Logzeilen (DEBUG) zum Fehler:
root@flexget:~/RSScrawler# python RSScrawler.py
┌─────────────────────────────────────────────────────────┐
│ Programminfo: RSScrawler v.2.0.5 von RiX │
│ Projektseite: https://github.com/rix1337/RSScrawler │
└─────────────────────────────────────────────────────────┘
Nutze das "folderwatch" Unterverzeichnis von "/rss" für Crawljobs
Traceback (most recent call last):
File "RSScrawler.py", line 1000, in
print('Der Webserver ist erreichbar unter ' + socket.gethostbyname(socket.gethostname()) +':' + str(port) + '/' + prefix)
socket.gaierror: [Errno -2] Name or service not known
LG Itsie ;).
If the search for hoster returns None title should not be added to dB and crawljob should not be created
Some movies are added without their original audio track in 720p.
These movies are not Dual Language (DL).
If one wants to keep a movie collection at 720p with dual language tracks then a search for the same movie with DL (most likely a 1080p version) would be required for future remuxing.
Looking at the [SJ] section of RSScrawler, links are filtered by hoster.
Similarly, MB should also include the ability to filter by hosters.
Die Funktion nutzt aktuell noch den Release-Titel (mit Leerzeichen)
Wenn jemand sich dem Thema widmen möchte, gerne.
Die Vorliegenden Scripte bieten sicher genügend Anhaltspunkte.
Hilfreich wäre es aus der aktuellen MB-Suche ein allgemeines Template für weitere Anbieterseiten zu erstellen um bspw. Downtimes zu überbrücken oder Alternativen anzubieten.
Für den Fall, dass Hoster verschwinden oder nicht-seitenübergreifende Hoster gewünscht sind, die RSScrawler daher nicht unterstützt, sollte der Dropdown um eine Freitext-Option ergänzt werden.
Complete Seasons in BluRay/Web-DL quality are more reliably posted on [MB].
An additional option that, if enabled, would look for titles from the Shows.txt in a set quality
eg. crawlseasons = true/false
seasonslist = Shows.txt
seasonsquality = 720p
This way one could use [SJ] for daily episode updates and [MB] for retail.
Pull Request mit Fallbackfunktion erwünscht, die es ermöglicht bei nicht erreichbarem MB.org auf MB.to zu wechseln, und bei komplettausfall evtl. sogar auf andere (vergleichbare) Seiten (#74)
Hi,
kann es sein das PhantomJS auf der Synology NAS immer noch nicht funktioniert?
Ich lese in diversen Foren, dass es nun geht und bei anderen, dass es nicht geht.
Was ist nun wirklich korrekt?
Ich versuche das ganze unter Mac OS 10.11.6 El Capitan zum Laufen zu bringen. Bisher leider ohne Erfolg.
pip install docopt
, pip install lxml
, usw.Beim Ausführen der Datei im Terminal erhalte ich folgende Fehlermeldung:
macmini-home-3:~ macmini_home$ python /Users/macmini_home/RSSCrawler/RSScrawler.py
Traceback (most recent call last):
File "/Users/macmini_home/RSSCrawler/RSScrawler.py", line 35, in <module>
from docopt import docopt
ImportError: No module named docopt
docopt ist aber bereits installiert:
macmini-home-3:~ macmini_home$ pip install docopt
Requirement already satisfied (use --upgrade to upgrade): docopt in /usr/local/lib/python2.7/site-packages
Was mache ich hier falsch bzw. wo sucht RSScrawler nach den Modulen?
Hallo,
erst einmal danke für dieses tolle Tool!
Ist es möglich das Webinterface mit einem Login zu versehen/abzusichern?
Da ich das Webinterface auch von außen erreichbar gemacht habe, bekomme ich dauern Einträge von fremden Leuten, dass ich das Webinterface mit Passwort versehen soll.
Vielen Dank
Hi
Ich habe mit der neusten Version deines Scripts das Problem, dass Jdownloader die gefunden Folgen von SJ als offline anzeigt. Wenn ich sie mauell hinzufüge gehen sie problemlos.
Ich kann leider nicht genau sagen, ob es ein Problem vom Script oder von Jdownloader ist.
So sieht das ganze aus (oben die über das Script gefundenen folgen, unten die manuell hinzugefügte):
Place all config files relatively to the script in settings subdir
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.