Para usarlo basta con leer la información; pero para no dejar tan pelado este post, les doy una ayuda en español:
Para descargar un curso:
$ coursera-dl -u <correo electrónico> -p <password> -n "txt" <dirección curso>
el -n "txt" es para ignorar los txt, es opcional, pero yo lo uso porque no quiero que me descargue los txt.
La dirección del curso es la última parte de la url. La url de un curso es de la forma:
https://class.coursera.org/<dirección curso>
por ejemplo:
https://class.coursera.org/insidetheinternet-003
entonces la "dirección curso" es: insidetheinternet-003
Más información y para ayuda:
$ coursera-dl -h
Todo bien ahí. Pero el problema es que descarga cada video en una carpeta separada, junto a los subtitulos, ppt, pdf, etc. Pero personalmente me gusta tener todos los videos de una semana juntos, junto a su subtitulo correspondiente.
Para lograr eso, creé un script en bash, que mueve los .mp4 y .srt a la carpeta anterior.
Para ilustrarlos, al usar el script "coursera-dl" queda de la siguiente forma:
dirección curso
├── Semana 1
│ ├── Video 1 Semana 1
│ │ ├── Diapos Video1 Semana 1.pdf
│ │ ├── Diapos Video1 Semana 1.ppt
│ │ ├── Video1 Semana1.mp4
│ │ └── Video1 Semana1.srt
│ ├── Video 2 Semana 1
│ │ ├── Diapos Video2 Semana 1.pdf
│ │ ├── Diapos Video2 Semana 1.ppt
│ │ ├── Video2 Semana1.mp4
│ │ └── Video2 Semana1.srt
├── Semana 2
│ ├── Video 1 Semana 2
│ │ ├── Diapos Video1 Semana 2.pdf
│ │ ├── Diapos Video1 Semana 2.ppt
│ │ ├── Video1 Semana2.mp4
│ │ └── Video1 Semana2.srt
etc...
Luego de usar mi script, queda así:
dirección curso
├── Semana 1
│ ├── Video 1 Semana 1
│ │ ├── Diapos Video1 Semana 1.pdf
│ │ └── Diapos Video1 Semana 1.ppt
│ ├── Video 2 Semana 1
│ │ ├── Diapos Video2 Semana 1.pdf
│ │ └── Diapos Video2 Semana 1.ppt
│ ├── Video1 Semana1.mp4
│ ├── Video1 Semana1.srt
│ ├── Video2 Semana1.mp4
│ └── Video2 Semana1.srt
├── Semana 2
│ ├── Video 1 Semana 2
│ │ ├── Diapos Video1 Semana 2.pdf
│ │ └── Diapos Video1 Semana 2.ppt
│ ├── Video1 Semana2.mp4
│ └── Video1 Semana2.srt
etc...
El script es bastante sencillo, y se los dejo En este link. Además, lo dejo acá para que lo vean. Pueden modificarlo para sus propósitos personales:
#!/bin/bash IFS=$'\x0A'$'\x0D' salida=$(ls -F | grep /) for carpetai in $salida do cd $carpetai find -regextype posix-egrep -regex ".*(mp4|srt)$" |xargs -I{lecciones} mv "{lecciones}" . cd .. done