Python script to download a udemy.com course, for personal offline use.
This software is intended to help you download Udemy courses for personal use only. Sharing the content of your subscribed courses is strictly prohibited under Udemy Terms of Use. Each and every course on Udemy is subjected to copyright infringement. This software does not magically download any paid course available on Udemy, you need to provide your Udemy login credentials to download the courses you have enrolled in. udemy_dl downloads the lecture videos by simply using the source of the video player returned to the user by Udemy after proper authentication, you can also do the same manually. Many download managers use same method to download videos on a web page. This app only automates the process of a user doing this manually in a web browser.
0.2.2-alpha.4
These files are custom ports that do not need dependencies
Platform | Arch | Version | Link |
---|---|---|---|
Windows | x86_x64 | 0.2.2-alpha.4 | Download |
Mac | x64 | 0.2.2-alpha.4 | Coming Soon |
Linux | x86_x64 | 0.2.2-alpha.4 | Coming Soon |
- Python (2 or 3)
pip
(Python Install Packager)- Python module
requests
- If missing, they will be automatically installed by
pip
- If missing, they will be automatically installed by
If you don't have pip
installed, look at their install doc.
Easy install (if you trust them) is to run their bootstrap installer directly by using:
sudo curl https://bootstrap.pypa.io/get-pip.py | sudo python
udemy-dl
can be installed using pip
pip install udemy-dl
or
python -m pip install udemy-dl
In OS X and Linux you need to sudo
installing udemy-dl
or you may face some errors
sudo pip install udemy-dl
Also you need to sudo
installing pip
itself or you run into the same problem.
udemy-dl
can be updated using pip
pip install --upgrade udemy-dl
or
python -m pip install --upgrade udemy-dl
In OS X and Linux you need to sudo
upgrade udemy-dl
sudo pip install --upgrade udemy-dl
Simply call udemy-dl
with the full URL to the course page.
udemy-dl https://www.udemy.com/COURSE_NAME
or
python -m udemy_dl https://www.udemy.com/COURSE_NAME
udemy-dl
will ask for your udemy username (email address) and password then start downloading the videos.
By default, udemy-dl
will create a subdirectory based on the course name. If you wish to have the files downloaded to a specific location, use the -o /path/to/directory/
parameter.
If you wish, you can include the username/email and password on the command line using the -u and -p parameters.
udemy-dl -u [email protected] -p $ecRe7w0rd https://www.udemy.com/COURSE_NAME
If you don't want to download but save links to a file for later downloading with a different downloader
python -m udemy_dl -s https://www.udemy.com/COURSE_NAME
For information about all available parameters, use the --help
parameter
udemy-dl --help
usage: udemy-dl [-h] [-u USERNAME] [-p PASSWORD]
[--lecture-start LECTURE_START] [--lecture-end LECTURE_END]
[-o OUTPUT] [-d {aria2c,axel,httpie,curl}] [--use-ffmpeg]
[-q VIDEO_QUALITY] [-s] [--safe-file-names] [-l] [--debug] [--use-course-title]
[-v]
link
Fetch all the lectures for a udemy course
positional arguments:
link Link for udemy course
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Username / Email
-p PASSWORD, --password PASSWORD
Password
--lecture-start LECTURE_START
Lecture to start at (default is 1)
--lecture-end LECTURE_END
Lecture to end at (default is last)
-o OUTPUT, --output OUTPUT
Output directory / text file path (if saving links)
-d {aria2c,axel,httpie,curl}, --external-downloader {aria2c,axel,httpie,curl}
Download with external downloader [aria2c, axel,
httpie, curl] (default is aria2c)
--use-ffmpeg Download videos from m3u8/hls with ffmpeg
(Recommended)
-q VIDEO_QUALITY, --video-quality VIDEO_QUALITY
Select video quality [default is 654321(highest)]
-s, --save-links Do not download but save links to a file
--safe-file-names Use safe cross-platform filenames
-l, --list Just list all of the possible lectures and their ids
--debug Enable debug mode
--use-course-title Use the course title for the parent folder name (WARNING: can make file path too long
-v, --version Display the version of udemy-dl and exit
udemy-dl
can be uninstalled using pip
sudo pip uninstall udemy-dl
You may uninstall the required requests
module too but be aware that those might be required for other Python modules.