Télécharger les vidéos de formation Udemy avec Python
Udemy est une grosse plateforme de cours en ligne basés principalement sur des vidéos. Les prix sont attractifs, et l’on y trouve régulièrement des supports en promo : cette page Dealabs peut en témoigner. Il arrive souvent que des cours soient proposés gratuitement. Et qui dit gros volume de vidéo à regarder, dit beaucoup de temps à y consacrer. Or quand on a un peu de temps dans les transports, en salle d’attente ou autre, la qualité du réseau n’est pas au rendez-vous. En plus, le service Udemy n’est pas très pratique sur le téléphone. Sans oublier que regarder des vidéos en 4G/5G n’est pas vraiment écolo. Pour résoudre ces problèmes, je vous propose d’installer et d’utiliser un outil très pratique. Celui-ci propose des options supplémentaires, contrairement à la version NodeJS. Ce projet Open source a été initié par r0oth3x49 que je remercie pour son travail.
Mise à jour du 03/01/2022 – Udemy a commencé le cryptage des vidéos afin de les protéger. Le décryptage (la suppression de la protection DRM) est illégal. C’est la raison pour laquelle l’auteur du projet refuse de faire évoluer le projet.
Udemy has started to encrypt many of the course videos, so downloading them may be impossible/illegal because it involves decrypting DRM’d videos which opens up the author to DMCA takedowns/lawsuits. If you use udemy-dl and some/all videos are skipped, please don’t open a new issue or comment that the issue still exists. All requests to bypass DRM/encryption will be ignored.
r0oth3x49
Présentation
Il s’agit d’une solution qui fonctionne avec Python. Elle possède des options supplémentaires activables à la demande :
- Ajouter les sous-titres s’ils existent.
- Spécifier la langue des sous-titres souhaités.
- Ne pas télécharger les sous-titres.
- Télécharger uniquement un chapitre.
- Télécharger uniquement un intervalle de chapitre.
- Spécifier la résolution/qualité de la vidéo.
Téléchargement de Python 3
Si vous êtes sur Windows/Linux/Ubuntu et que Docker est installé, je vous invite à consulter ce projet GitHub. Cela vous permettra de sauter toute la partie installation. Je vous retrouve à la section Utilisation de Udemy-dl. Si vous rencontrez des problèmes, les commentaires sont là pour ça.
Il suffit de se rendre sur le site officiel de Python. Dirigez-vous tout en bas de la page, et faites attention à la version choisie – surtout si vous êtes sur Windows (64bits ou 32bits).
Ensuite, lancez le programme installé. Un assistant d’installation s’ouvre :

Cliquez sur l’option Customize installation. L’étape 2 apparaît :

Cliquez sur le bouton Next, il n’y a rien à changer à cette étape.

C’est l’étape importante. Vous devez absolument cocher la case Add Python to environment variables. Et si vous souhaitez changer le répertoire d’installation, il faut modifier le deuxième encadré rouge. Il ne vous reste plus qu’à cliquer sur le bouton Install. L’installation se lance avec une belle barre de progression verte. Dès que c’est terminé, vous pouvez fermer l’assistant en cliquant sur le bouton Close.
Ouverture d’un terminal
Il vaut mieux créer un dossier spécifique sur votre ordinateur. Cet emplacement vous permettra par la suite de stocker les vidéos téléchargées. Dans mon exemple, je vais créer un répertoire nommé Udemy sur le bureau. A présent, rentrez dans le dossier créé.
Si vous êtes sous Linux/Ubuntu, effectuez un clic droit et cliquez sur l’option Ouvrir un terminal.
Si vous êtes sur Windows, restez appuyé sur la touche Shift ⬆ et faites un clic droit. Vous devriez obtenir les mêmes options que moi :
A présent, cliquez sur Ouvrir Powershell. Une fenêtre bleue s’ouvre alors.
Vérification de l’installation de Python 3
Sur Windows, tapez la commande suivante pour vérifier que Python est bien installé :
py --version
Pour Ubuntu/Mac, tapez la commande suivante :
python3 --version
Vous devriez obtenir la réponse suivante :
Python 3.8.0
Il faut aussi contrôler que pip (outil d’installation de dépendance) a bien été installé.
Pour cela, tapez la commande suivante :
pip3 --version
La réponse est la suivante :
pip 19.2.3 from e:\users\jérémy pastouret\appdata\local\programs\python\python38\lib\site-packages\pip (python 3.8)
Mise à jour de pip
Il arrive que pip ne soit pas à jour, même si l’installation de Python est fraîche.
Sous Windows, lancez la commande suivante :
py -m pip install --upgrade pip
Sous Ubuntu/Linux, lancez la commande suivante :
python -m pip install --upgrade pip
Cela ne coûte pas grand-chose, mais permet d’éviter des allers-retour pour rien. De cette manière, je suis passé à la version suivante :
pip 19.3.1
Téléchargement de l’outil de récupération de cours d’Udemy
Rendez-vous à cette adresse : https://github.com/r0oth3x49/udemy-dl

Pour éviter de vous faire télécharger/installer Git, je vous propose de cliquer sur le bouton Clone or download, puis sur Download ZIP. Récupérez l’archive et décompressez-la dans votre répertoire Udemy créé précédemment.

Installation des dépendances
Retournez sur le terminal ouvert précédemment, et lancez la commande suivante :
pip3 install -r requirements.txt
Pip installe de manière automatique tous les composants permettant de faire fonctionner Udemy.
Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Collecting six Using cached https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl ... Successfully installed certifi-2019.9.11 cffi-1.13.2 chardet-3.0.4 colorama-0.4.1 cryptography-2.8 idna-2.8 pyOpenSSL-19.1.0 pycparser-2.19 requests-2.22.0 six-1.13.0 unidecode-1.1.1 urllib3-1.25.7
Utilisation de Udemy-dl
Sous Windows, tapez la commande suivante en veillant bien à remplacer URL par le cours que vous souhaitez télécharger :
py .\udemy-dl.py URL
Sous Ubuntu/MacOS :
python3 .\udemy-dl.py URL
Voici un exemple utilisable avec mon compte :
py .\udemy-dl.py https://www.udemy.com/course/how-to-turn-emails-into-passive-income
Un joli logo apparaît et la console vous demande votre Username. Saisissez l’adresse e-mail reliée à votre compte. Ensuite, la console vous demande votre mot de passe. Saisissez-le : le programme se met à télécharger automatiquement les cours, comme par magie. La capture d’écran suivante peut en témoigner :

Si je retourne dans mon Udemy, je remarque que l’outil a bien organisé mes cours.

Je dispose même des sous-titres dans le répertoire, ce que ne faisait pas le précédent outil.
Options avancées de Udemy-dl
Pour ajouter des options avancées supplémentaires, il suffit de piocher dans la liste ci-dessous et d’ajouter ces options en bout de ligne de commande.
- Pour ne pas télécharger les sous-titres : –skip-sub
- Spécifier un langage de sous-titres : –sub-lang french
- Spécifier un chapitre : –chapter 3
- Indiquer un intervalle de chapitre : –chapter-start 3 –chapter-end 5
- Connaître les informations techniques du cours, comme la durée de la vidéo, les qualités disponibles… : –info
- Spécifier une résolution d’image : –quality 360
Par exemple, pour télécharger le chapitre 3, il suffit de procéder comme ceci :
py .\udemy-dl.py https://www.udemy.com/course/how-to-turn-emails-into-passive-income --chapter 3
Problème connu
403 Forbidden
Si le programme udemy-dl renvoie l’erreur suivante :
Udemy Says : 403 Forbidden You should use cookie base method to authenticate or try again in few minutes.
vous devez suivre cette procédure : https://github.com/r0oth3x49/udemy-dl/issues/389#issuecomment-491903900
Lockon (présent dans les commentaires) propose quelques ajustements de la méthode à partir de l’étape de récupération des données du cookie :
- Appuyez sur F12 et sélectionnez la rubrique Stockage -> Cookie
- Choisissez le cookie « www.udemy.com »
- Filtrez le premier champ en tapant « access_token »
- Sélectionnez la seule ligne qui apparaît
- Dans la colonne « données » tout au bout à droite, faites un clic droit sur « access_token » en rose pour le copier
- Dans le fichier cookie.txt, collez le résultat qui sera de cette forme : access_token : « EqsdfsqdfNx4mlkerhnmojehnztmohntrhpo »
- Modifiez la forme du résultat de cette manière : access_token=EqsdfsqdfNx4mlkerhnmojehnztmohntrhpo
- Pour terminer, tapez la ligne de commande :
python udemy-dl.py courseUrl -k cookie.txt
Merci encore à Lockon d’avoir détaillé la procédure.
FileNotFoundError / Video 1080p
Si vous obtenez l’erreur suivante ou que vous n’arrivez pas à récupérer la vidéo en 1080p.
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Le fichier spécifié est introuvable
Tentez la procédure suivante :
Il faut télécharger cette archive : https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
Ensuite dézippez-le et récupérez tous les fichiers .exe et mettez dans le répertoire d’Udemy dl.
En effet, l’outil a besoin de ffmpeg pour transformer la vidéo.
Conclusion
Vous êtes maintenant équipé pour récupérer du contenu sur votre compte Udemy. Si vous n’y parvenez pas, vous avez deux solutions :
- en parler dans les commentaires.
- aller lire mon premier article qui vous propose deux autres solutions, dont une avec NodeJs.
REDUISEZ VOTRE IMPACT... PARTAGEZ CET ARTICLE !
CLIQUEZ SUR LE BOUTON "JE PARTAGE" : LE POST CI-DESSUS EST AUTOMATIQUEMENT COPIÉ.
A PRESENT, RENDEZ-VOUS SUR LINKEDIN ET PARTAGEZ CE CONTENU SUR VOTRE PROFIL !