Logo des Enovateurs
Télécharger les vidéos de formation Udemy avec Python

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 :

Installation de Python 3 - 64 bits - Customize
Personnalisation de l’installation

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

Installation de Python 3 - Etape 2
Etape 2 – Rien à modifier

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

Installation de Python 3 - Etape 3 - Path - Répertoire
Etape 3 – Paramétrages

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 :

Ouvrir PowerShell sur Windows

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

Téléchargement du projet udemy-dl
Téléchargement du projet sous forme de ZIP

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.

Zip d'Udemy-dl décompressé
ZIP décompressé

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 :

Saisies des informations Udemy-dl et téléchargement des cours
Udemy-dl en train de télécharger mes cours

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

Organisation de Udemy-dl
Organisation d’Udemy-dl

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.
Jérémy PASTOURET
Jérémy PASTOURET
Journaliste en recherche constante de nouveaux outils plus légers, accessibles à tous et respectueux de la vie privée de leurs utilisateurs.

Commentaires

  • Mouafo

    2022-2-5 14:33

    ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘r
    equirements.txt’

    Bonjour à tous , voilà que j’ai lorsque j’entre la commande :

    « pip3 install -r requirements.txt »

    • Jérémy PASTOURET

      2022-2-5 17:15

      Bonjour,
      cela signifie que le fichier requirements.txt est inexistant dans le dossier courant. Avez-vous bien téléchargé le projet au préalable ?

  • Adama Kone

    2022-2-8 12:29

    svp je cherche un moyen de telecharger mes cours payer sur udemy.

Ecrire un commentaire

Sobriété

Pour aller plus loin

Découvrez nos tutos !

Les Enovateurs

Rejoignez notre communauté de lecteurs

Retrouvez-nous aussi sur

linkedin