Il s'agit d'un fork de coursera-dl qui fonctionne avec Python moderne et coursera.org moderne, avec des fonctionnalités et des correctifs supplémentaires.
Téléchargeur Coursera
Introduction
Caractéristiques
Clause de non-responsabilité
Instructions d'installation
Méthode d'installation alternative pour les systèmes Unix
ArchLinux
Installer les dépendances par vous-même
Méthode d'installation recommandée pour tous les systèmes d'exploitation
Méthodes alternatives d'installation des dépendances manquantes
Docker
Fenêtres
Créer un compte avec Coursera
Exécuter le script
Reprise des téléchargements
Dépannage
Problèmes chinois
Trouvé 0 sections et 0 conférences sur cette page
Délais de téléchargement
Windows : prise en charge des proxys
Windows : échec de la création du processus
SSLError : [Errno 1] _ssl.c:504 : erreur : 14094410 : routines SSL : SSL3_READ_BYTES : échec de la prise de contact d'alerte SSLv3
CDN alternatif pour MathJax.js
Problèmes de signalement
Signaler un problème/Signaler un bug
Retour
Contact
Ce script facilite le téléchargement par lots de ressources de cours (par exemple, vidéos, ppt, etc.) pour les cours Coursera. Étant donné un ou plusieurs noms de classe, il obtient les noms de semaine et de classe à partir de la page des cours , puis télécharge le matériel associé dans des fichiers et répertoires nommés de manière appropriée.
Ce travail a été inspiré en partie par [youtube-dl][3] sur lequel j'ai téléchargé de nombreuses autres bonnes vidéos telles que celles de Khan Academy.
Prise en charge de tous types de cours (c'est-à-dire les cours « ancienne plate-forme »/à durée déterminée ainsi que « nouvelle plate-forme »/cours à la demande).
Noms intentionnellement détaillés, afin qu'ils s'affichent et soient triés correctement sur la plupart des interfaces (par exemple, VLC ou MX Video sur les appareils Android).
Section basée sur Regex (semaine) et filtres de nom de conférence pour télécharger uniquement certaines ressources.
Filtre d'extension de format de fichier pour récupérer les types de ressources souhaités.
Arguments par défaut chargés à partir du fichier coursera-dl.conf
.
Fonctionnalité de base testée sur Linux, Mac et Windows.
cs-dlp
est destiné à être utilisé uniquement pour votre matériel que Coursera vous donne accès au téléchargement.
Nous n'encourageons aucune utilisation qui viole leurs conditions d'utilisation. Un extrait pertinent :
"[...] Coursera vous accorde une licence personnelle, non exclusive et non transférable pour accéder et utiliser les sites. Vous pouvez télécharger du matériel à partir des sites uniquement pour votre usage personnel et non commercial. Vous ne pouvez pas copier autrement , reproduire, retransmettre, distribuer, publier, exploiter commercialement ou autrement transférer tout matériel, et vous ne pouvez pas non plus modifier ou créer des œuvres dérivées du matériel."
cs-dlp
nécessite Python 3 et un compte Coursera inscrit dans la classe d'intérêt.
Remarque : cs-dlp
n'est pas compatible avec Python 2.
Sur n'importe quel système d'exploitation, assurez-vous que l'emplacement de l'exécutable Python est ajouté à votre variable d'environnement PATH
et, une fois les dépendances installées (voir section suivante), pour une utilisation de base , vous devrez appeler le script depuis le répertoire principal du projet et ajoutez-le au début du mot python
. Vous pouvez également utiliser des fonctionnalités plus avancées du programme en consultant la section « Exécution du script » de ce document.
Remarque : vous devez déjà avoir (manuellement) accepté l'honneur du code des cours particuliers que vous souhaitez utiliser avec cs-dlp
.
Depuis une ligne de commande (de préférence depuis un environnement virtuel), lancez simplement la commande :
git clone https://github.com/raffaem/cs-dlp cd cs-dlp python -m pip install --user .
Remarque 1 : Nous vous recommandons fortement de ne pas installer le package globalement sur votre machine (c'est-à-dire avec les privilèges root/administrateur), car les modules installés peuvent entrer en conflit avec d'autres applications Python que vous avez installées sur votre système. Préférez utiliser l’option --user
pour pip install
.
cs-dlp
n'a actuellement pas de package AUR. Aide bienvenue !
Si vous n'en avez pas déjà un, créez un compte [Coursera][1] et inscrivez-vous à un cours. Voir https://www.coursera.org/courses pour la liste des cours.
Pour vous authentifier auprès de Coursera, vous avez besoin d'un cookie CAUTH.
Il existe actuellement deux manières de le faire : vous pouvez demander cs-dlp
de l'obtenir automatiquement à partir de votre navigateur, ou vous pouvez en transmettre une manuellement.
Manière automatique
chrome
pour Google Chrome
chromium
opera
opera_gx
brave
edge
vivaldi
firefox
librewolf
safari
Ouvrez votre navigateur préféré et connectez-vous à Coursera
Appelez cs-dlp
avec l'option --cauth-auto browser
.
Les options valides pour browser
sont :
Manière manuelle
Passez un cookie CAUTH à l'option --cauth
.
Reportez-vous à cs-dlp --help
pour une référence complète et à jour sur les options d'exécution prises en charge par cet utilitaire.
Exécutez le script pour télécharger le matériel en fournissant votre cookie Coursera CAUTH, les noms des classes, ainsi que tout paramètre supplémentaire :
cs-dlp --cauth-auto chrome modelthinking-004
Voici quelques exemples de la manière d'invoquer cs-dlp
à partir de la ligne de commande :
Multiple classes: cs-dlp --cauth-auto chrome saas historyofrock1-001 algo-2012-002 Filter by section name: cs-dlp --cauth-auto chrome -sf "Chapter_Four" crypto-004 Filter by lecture name: cs-dlp --cauth-auto chrome -lf "3.1_" ml-2012-002 Download only ppt files: cs-dlp --cauth-auto chrome -f "ppt" qcomp-2012-001 Get the preview classes: cs-dlp --cauth-auto chrome -b ni-001 Download videos at 720p: cs-dlp --cauth-auto chrome --video-resolution 720p ni-001 Specify download path: cs-dlp --cauth-auto chrome --path=C:CourseraClasses comnetworks-002 Display help: cs-dlp --help Maintain a list of classes in a dir: Initialize: mkdir -p CURRENT/{class1,class2,..classN} Update: cs-dlp -n --path CURRENT `ls CURRENT`
Remarque : Si votre commande ls
est alias pour afficher une sortie colorisée, vous risquez de rencontrer des problèmes. Assurez-vous d'échapper à la commande ls
(utilisez ls
) pour vous assurer qu'aucun caractère spécial n'est envoyé au script.
Notez que nous prenons en charge les cours Nouvelle Plateforme (« à la demande »).
Par défaut, les vidéos sont téléchargées à une résolution de 540p. Pour les cours à la demande, l'indicateur --video-resolution
accepte les valeurs 360p, 540p et 720p.
Pour télécharger uniquement les fichiers de sous-titres .txt
et/ou .srt
au lieu des vidéos, utilisez --ignore-formats mp4 --subtitle-language en
ou quel que soit le format dans lequel les vidéos sont encodées et les langues souhaitées pour les sous-titres.
Si vous souhaitez stocker vos paramètres préférés, créez un fichier nommé coursera-dl.conf
dans lequel le script est censé être exécuté, au format suivant :
--subtitle-language en,zh-CN|zh-TW --download-quizzes #--mathjax-cdn https://cdn.bootcss.com/mathjax/2.7.1/MathJax.js # more other parameters
Les paramètres spécifiés dans le fichier seront remplacés s'ils sont à nouveau fournis sur la ligne de commande.
Remarque : Dans coursera-dl.conf
, tous les paramètres ne doivent pas être entourés de guillemets.
En mode par défaut, lorsque vous interrompez le processus de téléchargement en appuyant sur CTRL + C , les fichiers partiellement téléchargés seront supprimés de votre disque et vous devrez recommencer le processus de téléchargement depuis le début. Si votre téléchargement a été interrompu par quelque chose d'autre que KeyboardInterrupt ( CTRL + C ) comme un crash soudain du système, les fichiers partiellement téléchargés resteront sur votre disque et la prochaine fois que vous recommencerez le processus, ces fichiers seront supprimés de la liste de téléchargement !, c'est donc votre travail pour les supprimer manuellement avant le prochain démarrage. Pour cette raison, nous avons ajouté une option appelée --resume
qui continue vos téléchargements là où ils se sont arrêtés :
cs-dlp --cauth-auto chrome --resume sdn1-001
Cette option peut également être utilisée avec des téléchargeurs externes :
cs-dlp --cauth-auto chrome --wget --resume sdn1-001
Remarque 1 : Certains téléchargeurs externes utilisent leur propre fonctionnalité de reprise intégrée qui peut ne pas être compatible avec d'autres, utilisez-les donc à vos propres risques.
Note 2 : N'oubliez pas qu'en mode reprise, les fichiers interrompus NE SERONT PAS supprimés de votre disque.
Si vous rencontrez des problèmes lors du téléchargement du matériel de cours, essayez de voir si l'une des actions suivantes résout votre problème :
Assurez-vous que le nom de la classe que vous utilisez correspond au nom de la ressource utilisé dans l'URL de cette classe : https://www.coursera.org/learn/
Avez-vous essayé de nettoyer les cookies/identifiants mis en cache avec l'option --clear-cache
?
Notez que de nombreux cours (la plupart, peut-être ?) peuvent supprimer le matériel peu de temps après la fin du cours, tandis que d'autres cours peuvent conserver le matériel jusqu'à une prochaine session/offre du même cours (pour éviter des problèmes de malhonnêteté académique, apparemment).
En bref, il n'est pas garanti que vous pourrez télécharger une fois le cours terminé et nous ne pouvons malheureusement pas vous aider pour cela.
On peut exporter un fichier cookies de style Netscape avec une extension de navigateur ([1][9], [2][10]) et l'utiliser avec l'option -c
. Cela s'avère pratique lorsque l'authentification par mot de passe ne fonctionne pas (le processus d'authentification change de temps en temps).
Pour les cours qui n'ont pas encore commencé, mais qui ont eu une itération précédente, un aperçu est parfois disponible, contenant tous les cours du dernier cours. Ces fichiers peuvent être téléchargés en passant le paramètre --preview
.
Si vous obtenez une erreur du type Could not find class:
, alors :
Vérifiez que le nom du cours est correct. Les noms de classe actuels dans coursera sont composés d'un nom de cours court, par exemple class
et la version actuelle du cours (un numéro). Par exemple, pour une classe nommée class
, vous devrez utiliser class-001
, class-002
etc.
Deuxièmement, vérifiez que vous êtes inscrit au cours. Vous ne pourrez pas accéder au matériel de cours si vous n'êtes pas officiellement inscrit et n'avez pas accepté le cours spécialisé via le site Web .
Si vous venez de Chine et que vous rencontrez des problèmes pour télécharger des vidéos, l'ajout de "52.84.167.78 d3c33hcgiwev3.cloudfront.net" dans le fichier hosts (/etc/hosts) et l'actualisation du DNS avec "ipconfig/flushdns" peuvent fonctionner (voir https : //github.com/googlehosts/hosts pour plus d'informations).
Tout d'abord, assurez-vous que vous êtes inscrit au cours que vous souhaitez télécharger.
De nombreux anciens cours ont déjà fermé les inscriptions, ce n'est donc souvent pas une option. Dans ce cas, essayez de télécharger avec l'option --preview
. Certains cours permettent de télécharger du matériel de cours sans s'inscrire, mais ce n'est pas courant et il n'est pas garanti que cela fonctionne pour tous les cours.
Enfin, vous pouvez télécharger les vidéos si vous disposez au minimum du fichier index qui répertorie tous les supports de cours. Peut-être que votre ami inscrit pourrait enregistrer cette page de cours pour vous. Dans ce cas, utilisez l'option --process_local_page
.
Vous pouvez également essayer différentes extensions de navigateur conçues pour résoudre ce problème.
Si aucune des solutions ci-dessus ne fonctionne pour vous, nous ne pouvons rien faire.
cs-dlp prend en charge les téléchargeurs externes, mais notez qu'ils ne sont utilisés pour télécharger du matériel qu'une fois le programme analysé, par exemple des vidéos, des PDF, certains documents et fichiers supplémentaires (le programme est toujours téléchargé à l'aide du téléchargeur interne). Si vous rencontrez des problèmes lors du téléchargement de tels documents, vous souhaiterez peut-être commencer à utiliser un téléchargeur externe et configurer ses valeurs de délai d'attente. Par exemple, vous pouvez utiliser le téléchargeur aria2c en passant l'option --aria
:
cs-dlp --cauth-auto chrome --path . --aria2
Et mettez ceci dans le fichier de configuration d'aria2c ~/.aria2/aria2.conf
pour réduire les délais d'attente :
connect-timeout=2 timeout=2 bt-stop-timeout=1
La configuration du délai d'attente pour le téléchargeur interne n'est pas prise en charge.
Si vous utilisez Windows derrière un proxy, configurez les variables d'environnement avant d'exécuter le script comme suit :
set HTTP_PROXY=http://host:port set HTTPS_PROXY=http://host:port
Discussion connexe : #205
MathJax.js
Lors de l'enregistrement d'une page de cours, nous avons activé le rendu MathJax
pour les équations mathématiques, en injectant MathJax.js
dans l'en-tête. Le script utilise un service cdn fourni par mathjax.org. Cependant, cette URL n'est pas accessible dans certains pays/régions, vous pouvez fournir un paramètre --mathjax-cdn
pour spécifier le fichier MathJax.js
accessible dans votre région.
Avant de signaler un problème, veuillez suivre les étapes ci-dessous :
Vérifiez que vous exécutez la dernière version du script
Si le problème persiste, n'hésitez pas à ouvrir un ticket dans notre bugtracker, veuillez remplir le modèle de ticket avec autant d'informations que possible .