Note: you must have a valid Lynda.com subscription to download paid contents.
A convenient script for downloading and organizing Lynda.com course videos and subtitles in batch.
-
Make sure you have Python 3.7+ installed and accessible via command line, then install yt-dlp by
pip install yt-dlp. If you have both Python 2 and 3 installed in your system, check that you're using the correctpipalias for the target python version (e.g. it could bepip3for Python 3). -
Install FFmpeg, and make sure it's accessible via command line. It is required to mux video and audio into one single file when downloading from sites like YouTube (they keep videos and audios with best possible qualities to their separate files). I recommend that you use a package manager to install it. On Windows, you may install Scoop then
scoop install ffmpeg; on MacOS, you may install Homebrew thenbrew install ffmpegfor FFmpeg (More options). -
(Optional) Set up your credentials. There're two scenarios:
-
You have your own Lynda.com account:
Set line 26 of
down.pytoUSE_COOKIES = False, then fill in your username and password in line 37 and 38. -
Your Lynda.com account is associated with your organization account, i.e. you sign in with your organization portal:
2.1. Log into your account using your preferred browser. Supported browsers are listed in the documentation for
--cookies-from-browser.2.2. Set line 26 of
down.pytoUSE_COOKIES = True. Modify line 34 to instruct yt-dlp to load cookies from the target browser.
-
-
Put URLs of all courses that you wish to download inside a file named
urls.txtand place it in the same directory asdown.py. Here I included a sampleurls.txtfile (FYI the included courses are from the famous Adobe Photoshop & Illustrator One-on-One series by Deke McClelland), but you should remember to clear the file content first if you'd like to download something else. -
Run the script by
./down.pyorpython down.py(similar to stated previously, check yourpythonalias if you have both Python 2 and 3 installed on your system). It will download specified courses to the same directory asdown.py. Here's a sample download outcome after running the script with the sample URLs:
Lynda.com- Photoshop CC 2018 One-on-One - Fundamentals
βββ Introduction
β βββ 001- Welcome.en.srt
β βββ 001- Welcome.mp4
β βββ 002- Updates to the Photoshop CC 2018 interface.en.srt
β βββ 002- Updates to the Photoshop CC 2018 interface.mp4
βββ 1. Opening an Image
βΒ Β βββ 003- How it all starts.en.srt
βΒ Β βββ 003- How it all starts.mp4
βΒ Β βββ 004- Opening from the Windows desktop.en.srt
βΒ Β βββ 004- Opening from the Windows desktop.mp4
βΒ Β βββ ...
βββ 2. Getting Around
βΒ Β βββ 010- Navigating your image.en.srt
βΒ Β βββ 010- Navigating your image.mp4
βΒ Β βββ 011- Zooming in and out.en.srt
βΒ Β βββ 011- Zooming in and out.mp4
βΒ Β βββ 012- Using the more precise Zoom tool.en.srt
βΒ Β βββ 012- Using the more precise Zoom tool.mp4
βΒ Β βββ ...
βββ ...
βββ Conclusion
Β Β βββ 177- Until next time.en.srt
Β Β βββ 177- Until next time.mp4
Lynda.com- Illustrator CC 2018 One-on-One Fundamentals
βββ ...
...
FYI for Windows users, if you're looking for an all-purpose media player that can recognize subtitle languages from file names shown above, I'd suggest Potplayer by Kang Yong-Huee, the original author of the famous KMPlayer.
2023-09-04: This was originally written for youtube-dl. The script has since been updated to use the more powerful folk yt-dlp.
This is just a wrapper program of the wonderful youtube-dl, a powerful command-line tool that allows you to conveniently download videos, audios, playlists and episodes from many websites. My intention of creating this script is to provide a simple cross-platform wrapper script that can quickly download multiple courses / playlists without going through the entire lengthy documentation (I got you covered there π). In fact, with minor or no tweaking, this script can also be reused to download contents from other websites such as courses on Udemy, TV episodes on YouTube or music collections on SoundCloud! All credits go to the contributors behind youtube-dl! π