Git Product home page Git Product logo

udemy-dl's Introduction

GitHub release GitHub stars GitHub forks GitHub issues GitHub license

udemy-dl

A cross-platform python based utility to download courses from udemy for personal offline use.

udemy-dl-0-5.png

Before creating an issue, please do the following:

  1. Use the GitHub issue search โ€” check if the issue is already reported.
  2. Check if the issue is already fixed โ€” try to reproduce it using the latest master in the repository.
  3. Make sure, that information you are about to report is related to this repository and not the one available on Python's repository, PyPi, Because this repository cannot be downloaded/installed via pip command.

Features

  • Resume capability for a course video.
  • Supports organization and individual udemy users both.
  • Save course direct download links to a text file (option: --save).
  • Cache credentials to a file and use it later for login purpose (option: --cache).
  • List down course contents and video resolution, suggest the best resolution (option: --info).
  • Download/skip all available subtitles for a video (options: --sub-only, --skip-sub).
  • Download specific chapter in a course (option: -c / --chapter).
  • Download specific lecture in a chapter (option: -l / --lecture).
  • Download specific subtitle for a lecture (option: -s / --sub-lang).
  • Download chapter(s) by providing range in a course (option: --chapter-start, --chapter-end).
  • Download lecture(s) by providing range in a chapter (option: --lecture-start, --lecture-end).
  • Download lecture(s) in requested resolution (option: -q / --quality).
  • Download course to user requested path (option: -o / --output).
  • Authentication using cookies (option: -k / --cookies).
  • Download/save lecture names (option: --names).
  • Download lectures containing unsafe unicode characters in title/name (option: --unsafe).

How to login with cookie

Requirements

  • Python (2 or 3)
  • Python pip
  • Python module requests
  • Python module colorama
  • Python module unidecode
  • Python module six
  • Python module requests[security] or pyOpenSSL

Module Installation

pip install -r requirements.txt

Tested on

  • Windows 7/8/8.1/10
  • Kali linux (2017.2)
  • Ubuntu-LTS (64-bit) (tested with super user)
  • Mac OSX 10.9.5 (tested with super user)

Download udemy-dl

You can download the latest version of udemy-dl by cloning the GitHub repository.

git clone https://github.com/r0oth3x49/udemy-dl.git

Usage

Download a course

python udemy-dl.py COURSE_URL

Download course with specific resolution

python udemy-dl.py COURSE_URL -q 720

Download course to a specific location

python udemy-dl.py COURSE_URL -o "/path/to/directory/"

Download course with specific resolution to a specific location

python udemy-dl.py COURSE_URL -q 720 -o "/path/to/directory/"

Download specific chapter from a course

python udemy-dl.py COURSE_URL -c NUMBER

Download specific lecture from a chapter

python udemy-dl.py COURSE_URL -c NUMBER -l NUMBER

Download lecture(s) range from a specific chapter

python udemy-dl.py COURSE_URL -c NUMBER --lecture-start NUMBER --lecture-end NUMBER

Download chapter(s) range from a course

python udemy-dl.py COURSE_URL --chapter-start NUMBER --chapter-end NUMBER

Download specific lecture from chapter(s) range

python udemy-dl.py COURSE_URL --chapter-start NUMBER --chapter-end NUMBER --lecture NUMBER

Download lecture(s) range from chapter(s) range

python udemy-dl.py COURSE_URL --chapter-start NUMBER --chapter-end NUMBER --lecture-start NUMBER --lecture-end NUMBER

List down specific chapter from a course

python udemy-dl.py COURSE_URL -c NUMBER --info

List down specific lecture from a chapter

python udemy-dl.py COURSE_URL -c NUMBER -l NUMBER --info

Download specific subtite by using language code such as (en, es) if lang switch is not specified then default will be all subtitles

python udemy-dl.py COURSE_URL --sub-lang en

Advanced Usage


Author: Nasir khan (r0ot h3x49)

usage: udemy-dl.py [-h] [-v] [-u] [-p] [-k] [-o] [-q] [-c] [-l] [-s]
                   [--chapter-start] [--chapter-end] [--lecture-start]
                   [--lecture-end] [--save] [--info] [--cache] [--names]
                   [--unsafe] [--sub-only] [--skip-sub]
                   course

A cross-platform python based utility to download courses from udemy for
personal offline use.

positional arguments:
  course            Udemy course.

General:
  -h, --help        Shows the help.
  -v, --version     Shows the version.

Authentication:
  -u , --username   Username in udemy.
  -p , --password   Password of your account.
  -k , --cookies    Cookies to authenticate with.

Advance:
  -o , --output     Download to specific directory.
  -q , --quality    Download specific video quality.
  -c , --chapter    Download specific chapter from course.
  -l , --lecture    Download specific lecture from chapter(s).
  -s , --sub-lang   Download specific subtitle/caption (e.g:- en).
  --chapter-start   Download from specific position within course.
  --chapter-end     Download till specific position within course.
  --lecture-start   Download from specific position within chapter(s).
  --lecture-end     Download till specific position within chapter(s).

Others:
  --save            Do not download but save links to a file.
  --info            List all lectures with available resolution.
  --cache           Cache your credentials to use it later.
  --names           Do not download but save lecture names to file.
  --unsafe          Download all course with unsafe names.
  --sub-only        Download captions/subtitle only.
  --skip-sub        Download course but skip captions/subtitle.

Example:
  python udemy-dl.py  COURSE_URL
  python udemy-dl.py  COURSE_URL -k cookies.txt
  python udemy-dl.py -u [email protected] -p p4ssw0rd COURSE_URL

udemy-dl's People

Contributors

r0oth3x49 avatar 4562448 avatar yujiangshui avatar pradzins avatar nightreaver avatar zacksleo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.