GithubHelp home page GithubHelp logo

justm0rph3u5 / lynda-dl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from r0oth3x49/lynda-dl

1.0 2.0 0.0 71 KB

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

License: MIT License

Python 100.00%

lynda-dl's Introduction

GitHub release GitHub stars GitHub forks GitHub issues GitHub license

lynda-dl

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

lynda-dl.png

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.

<url> - 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

lynda-dl's People

Contributors

r0oth3x49 avatar gfredtech avatar

Stargazers

Alexander avatar

Watchers

James Cloos avatar Alexander 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.