Auf GitHub habe ich ein kleines Tool veröffentlicht, welches verwendet werden kann, um Dateien aus dem StudIP verschiedener Hochschulen und Universitäten herunterzualden.
Aktuell wurde der Downloader nur mit der Uni Oldenburg getestet. Theoretisch sollte das Tool auch an anderen Universitäten funktionieren. Ich würde mich freuen, wenn mir jemand eine Rückmeldung geben kann, ob das der Fall ist.
(Getestet an der Uni Hannover und der Uni Göttingen.)
Die Anwendung ist eine einfache C# Konsolenanwendung in .Net Core 3.1 und kann unter Windows, Linux und OSX verwendet werden.
Die Quellcode und ausführbare Dateien stehen unter folgender URL zur Verfügung:
https://github.com/yannik995/StudIP-Downloader
Download: https://github.com/yannik995/StudIP-Downloader/releases/latest
Wie wird die Anwendung verwendet?
- Zip Archiv herunterladen, entpacken.
- StudIPDownloader.exe starten, StudIP URL eintragen z.B.: https://elearning.uni-oldenburg.de/
- Wert des Seminar_Session Cookie aus dem Browser eintragen.
(Einloggen und Cookies z.B. mit EditThisCookie anzeigen lassen:
) - Lokalen Pfad eintragen
- Nun werden alle Dateien heruntergeladen
Die Einstellungen werden in der Datei config.ini gespeichert und beim nächsten Start muss nur ggf. der Wert des Cookies neu eingetragen werden, wenn dieser abgelaufen oder nicht mehr gültig ist.
Es werden immer nur die neuen oder geänderten Dateien heruntergeladen und nach folgendem Schema abgelegt:
/{SEMESTER}/{NAME DES KURSES}/{DATEIEN UND ORDNER}…
Wenn jemand noch Ideen oder Probleme mit der Anwendung hat, stehe ich gerne dafür oder noch besser auch für Pull Request zur Verfügung.
Eine Optimierung wäre ein vernünftiger Login, aber da dieser bei jeder Einrichtung anders stattfindet, ist es schwierig diesen allgemein gültig zu implementieren.
Ich hoffe das die Anwendung weiterhilft, wenn Dateien nicht aus dem StudIP heruntergeladen werden können, weil es nicht erreichbar ist oder die Dateien offline benötigt werden, um sie zum Beispiel im Zug nutzen zu können.
Viele Grüße 🙂
Tooles Tool. Funktioniert auch für die Uni Hannover. Danke!
Sehr gerne. Das freut mich.
wie genau hast du das gemacht? bin auch auf der uni hannover
Hi,
wahrscheinlich sollte es funktionieren, wenn du in der config.ini Datei die Zeile StudIP|https://elearning.uni-oldenburg.de/ durch StudIP|https://studip.uni-hannover.de/ ersetzt.
Hallo,
ich möchte gerne Videos der TU Braunschweig herunterladen. Download-Button sind leider nicht vorhanden.
https://studip.tu-braunschweig.de/
Ich habe den Downloader ausprobiert. Die Konsole öffnet sich und schließt sich sofort wieder. Ich habe gar nich die Möglichkeit etwas einzugeben. Eine config.ini wird gar nicht erstellt.
Oder mache ich etwas falsch?
Viele Dank!
Hallo,
eine kurze Ergänzung:
Ich habe jetzt .Net Core 3.1 installiert. Jetzt bleibt die Konsole zwar geöffnet, aber ich erhalte folgende Fehlermeldungen:
Fehler beim Downloaden der Verzeichnisse: …………………………….
Cannot convert null to ‚bool‘ because it is a non-nullable value type
–> *Bezeichnung*
Ich komme da leider nicht weiter.
Vielen Dank!
Hi, kannst du mir die volle Ausgabe und Fehlermeldung per E-Mail zusenden? blog@yannikeichel.de
Vermute das die Stud.IP API bei euch andere oder nicht alle Parameter zurückgibt und daher der Fehler Auftritt.
Es ist der Parameter „is_downloadable“ der nicht vorhanden ist.
Wenn ich die eigentliche API Antwort sehen könnte, kann ich das Programm sicher anpassen.
Fehler mit Version 1.1.3 behoben.
Wo finde ich „StudIPDownloader.exe“? Sehe nur StudIPDownloader.csproj
Unter https://github.com/yannik995/StudIP-Downloader/releases/latest und dann in der Datei, die mit win.zip endet.
Gibt es eine genauere Beschreibung, wie man das in Linux Ubuntu20) zum Laufen bringt ?
– Muß ich erst irgendein „C'“ oder “ .Net Core 3.1″ installieren ? wo finde ich das ? Oder vielleicht irgendetwas, das Ubuntu mit bringt ?
– Ich habs auch mal testweise unter win10 in der virtualbox mit dem StudIPDownloader.exe versucht: Da erscheint für eine halbe Sekunde ein Biggerl am unteren Bildschirm-Rand …. und verschwindet wieder. Das wars. Ich bin Hardware-Entwickler aus dem letzten Jahrhundert und habe von Software wenig Ahnung.
Hallo,
unter Linux muss zum ausführen nichts extra installiert werden (Nur ZIP für das Entpacken). Einfach die folgenden Befehle eingeben:
wget https://github.com/yannik995/StudIP-Downloader/releases/download/1.1.3/StudIP-Downloader_1.1.3_linux.zip
unzip StudIP-Downloader_1.1.3_linux.zip
cd publish-linux/
chmod +x StudIPDownloader
./StudIPDownloader
Unter Windows muss .Net Core installiert werden. (Wenn man die EXE in der Eingabeaufforderung ausführt bekommt man auch eine Meldung mit URL unter der dies heruntergeladen werden kann)
Beim Start des Programms unter ubuntu20 erscheint :
config.ini konnte nicht gelesen werden: Could not find file ‚/home/thomas/StudIP-Downloader_1.1.3_linux/publish-linux/config.ini‘.
StudIP URL (https://elearning.uni-oldenburg.de/):
Ich möchte jedoch Vorlesungen der Uni Hannover downloaden
Im Verzeichnis „publish-linux “ gibt es keine config.ini Datei.
Die gibt es unter /home/thomas/.local/share/Trash/info/ und sie enthält:
[Trash Info]
Path=/home/thomas/StudIP-Downloader_1.1.3_linux/publish-linux/config.ini
DeletionDate=2021-11-01T22:30:19
Ich sehe dort kein „uni-oldenburg“ , das ich durch „uni-hannover“ ersetzen könnte. Wird die config.ini gleich wieder gelöscht ?
Hi,
die config.ini wird erst nach dem ersten erfolgreichen Durchlauf geschrieben.
Das Programm funktioniert interaktiv und beim ersten Aufruf ist die Stud.IP URL anzugeben.
Dafür gibst du dann wenn nach der StudIP URL gefragt wirst die entpsrechende URL an, in deinem Fall https://studip.uni-hannover.de/ und bestätigst mit Enter.
Dies geht dann so weiter mit dem Zielpfad auf deinem System usw.
Viele Grüße
danke, es funktioniert mit den Dateien zur Vorlesung, die unter dem Reiter „Dateien“ zu finden sind. Wie sieht es jedoch mit den Videos aus, die unter dem Reiter „Aufzeichnungen“ zu finden sind. Ich kann sie nur anklicken und sie werden in „Realzeit“ abgespielt. Ich habe keine download-Funktion finden können. Kann Stud.IP-Downloader diese Videos auch downloaden, selbst wenn das eine Nacht dauert ?
Nein, diese Videos können nicht über die API abgerufen werden und daher können sie auch nicht mit diesem Tool heruntergeladen werden.
schade, aber nochmal danke für deine Unterstützung
Kann man auch nur einige spezielle Veranstaltungen auswählen, die heruntergeladen werden?
Bzw. Lädt das Tool Videos herunter?
Hi,
aktuell werden immer alle Veranstaltungen heruntergeladen. Es können nur Dateien exkludiert werden, spezielle Veranstaltungen an- bzw. abzuwählen habe ich im Github Projekt bereits vor einiger Zeit als Issue angelegt (https://github.com/yannik995/StudIP-Downloader/issues/5) aber keine Zeit es umzusetzen.
Ja, es lädt Video aus den Dateien herunter, allerdings keine Videos aus Plugins, wie Opencast o.ä..