Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/r0oth3x49/lynda-dl

A cross-platform python based utility to download courses from lynda.com for personal offline use.
https://github.com/r0oth3x49/lynda-dl

cross-platform download-subtitles downloader linux lynda lynda-dl macos python windows

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

[![GitHub release](https://img.shields.io/badge/release-v0.3-brightgreen.svg?style=flat-square)](https://github.com/r0oth3x49/lynda-dl/releases/tag/v0.3)
[![GitHub stars](https://img.shields.io/github/stars/r0oth3x49/lynda-dl.svg?style=flat-square)](https://github.com/r0oth3x49/lynda-dl/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/r0oth3x49/lynda-dl.svg?style=flat-square)](https://github.com/r0oth3x49/lynda-dl/network)
[![GitHub issues](https://img.shields.io/github/issues/r0oth3x49/lynda-dl.svg?style=flat-square)](https://github.com/r0oth3x49/lynda-dl/issues)
[![GitHub license](https://img.shields.io/github/license/r0oth3x49/lynda-dl.svg?style=flat-square)](https://github.com/r0oth3x49/lynda-dl/blob/master/LICENSE)

# lynda-dl
**A cross-platform python based utility to download courses from lynda for personal offline use.**

## ***Note***
- i don't provide any exe file for this repository use the exe files on your own risk i 'm not responsible for anything
that happens to your account or system, use this repository from source with python installed.

[![lynda-dl.png](https://i.postimg.cc/NFqdCyxH/lynda-dl.png)](https://postimg.cc/341jdxV8)

## ***Features***

- Resume capability for a course video.
- Supports organization and individual lynda users both.
- Added support for cookie based login. (option: `-k / --cookies`).
- List down course contents and video resolution, suggest the best resolution (option: `--info`).
- Download/skip all available subtitles for a video (options: `--skip-sub, --skip-sub`).
- Download lecture(s) requested resolution (option: `-q / --quality`).
- Download course to user requested path (option: `-d / --directory`).

## ***Issue Reporting Guideline***

To maintain an effective bugfix workflow and make sure issues will be solved, I ask reporters to follow some simple guidelines.

Before creating an issue, please do the following:

1. **Use the GitHub issue search** — check if the issue has already been reported.
2. **Check if the issue has been 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 ***Python's repository***, Because this repository cannot be downloaded via pip.

A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What was the course url? What steps will reproduce the issue? What OS
experience the problem? All these details will help to fix any potential bugs as soon as possible.

### ***Example:***

> Short and descriptive example bug report title
>
> A summary of the issue and the OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `` - a lynda course link to reproduce the error.
>
> Any other information you want to share that is relevant to the issue being reported.

## ***Extracting Cookies***

- Login to your lynda account via browser.
- Once you are logged in right click on page the search for option called **Inspect Element** and click on that.
- Under that look for **Network Tab** and click on that. Under that **Network Tab** click on Requests type **XHR** .
- Now Visit the **Course URL** you want to download, You will see some requests under **Network Tab XHR**.
- Right click on any of the Requests which links to **lynda.com**. Simply copy **Request Headers** and save to text file.
- Done run the lynda-dl against that text file it will start downloading the course.

## ***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 lynda-dl***

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

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

## ***Usage***

***Download course using user credentials***

python lynda-dl.py COURSE_URL

***OR***

python lynda-dl.py -u [email protected] -p p4ssw0rd COURSE_URL

***Download course using organization's library card***

python lynda-dl.py -o organization COURSE_URL

***OR***

python lynda-dl.py -u library_card_num -p library_card_pin -o organization COURSE_URL


***Download course to a specific location using user credentials***

python lynda-dl.py COURSE_URL -d "/path/to/directory/"

***OR***

python lynda-dl.py -u [email protected] -p p4ssw0rd COURSE_URL -d "/path/to/directory/"


***Download course to a specific location using organization's library card***

python lynda-dl.py -o organization COURSE_URL -d "/path/to/directory/"

***OR***

python lynda-dl.py -u library_card_num -p library_card_pin -o organization COURSE_URL -d "/path/to/directory/"

***list down course information***

python lynda-dl.py COURSE_URL --info

***Download with specific resolution/ quality***

python lynda-dl.py COURSE_URL -q 720

## **Advanced Usage**



Author: Nasir khan (r0ot h3x49)

usage: lynda-dl.py [-h] [-v] [-k] [-u] [-p] [-o] [-d] [-q] [--info]
[--sub-only] [--skip-sub]
course

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

positional arguments:
course Lynda course or file containing list of courses.

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

Authentication:
-k , --cookies Cookies to authenticate with.
-u , --username Username or Library Card Number.
-p , --password Password or Library Card Pin.
-o , --organization Organization, registered at Lynda.

Advance:
-d , --directory Download to specific directory.
-q , --quality Download specific video quality.

Others:
--info List all lectures with available resolution.
--sub-only Download captions/subtitle only.
--skip-sub Download course but skip captions/subtitle.

Example:
python lynda-dl.py COURSE_URL
python lynda-dl.py -o organization COURSE_URL
python lynda-dl.py -k cookies.txt COURSE_URL