Giter Club home page Giter Club logo

coursera-helper's Introduction

Build Status Coverage Status Code Climate Latest version on PyPI

coursera-helper

coursera-helper is forked from coursera-dl which is no longer maintained.

Introduction

coursera-helper is a tool for downloading Coursera.org videos and naming them..

It is platform independent, and should work fine under Unix (Linux, BSDs etc.), Windows or Mac OS X.

Installation instructions

coursera-helper requires Python 3 and very few other dependencies. (As of October 2023, coursera-helper passed the test of Python versions 3.8, 3.9, 3.10, and 3.11).

Installation (recommended)

Opening a terminal and typing the command If you have installed Python:

pip install coursera-helper

Manual Installation

pip install git+https://github.com/csyezheng/coursera-helper.git

Docker container

You can run this application via Docker if you want. Just install docker and run

docker run --rm -it -v \
    "$(pwd):/courses" \
     csyezheng/coursera-helper --cauth <CAUTH-value> <course name>
  • Please note that it will prompt that unable to find the image locally, please wait patiently for downloading.

  • Please note that when running in docker mode, only the --cauth parameter can be passed for authentication, and username, password, and --browser-cookie parameters are not accepted.

  • The course files will be downloaded to your current directory.

Before the start

coursera-helper supports four authentication methods:

  1. CAUTH (recommended)

    Just use the --cauth CAUTH-value-from-browser option when running the program.

    How to get the cauth value?

  2. Browser cookies

    Just use the --browser-cookie option when running the program.

    Automatically extract CAUTH value from the browser cookie. If this method fails, please use other authentication methods.

  3. Username and Password

    Just use the -u <user> -p <pass> options when running the program.

    Please note that this method will open the browser, you may have to click on the reCAPTCHA.

  4. netrc File

    Just use the --netrc options when running the program.

Quick Start

Run the following command to query the usage and options:

coursera-helper --help

List courses

Run the following command to query the courses in which you are enrolled:

coursera-helper --cauth <CAUTH> --list-courses

or

coursera-helper --browser-cookie --list-courses

or

coursera-helper -u <email or username> --list-courses

Download course

From there, choose the course you are interested in, copy its course name and use it in the following command:

coursera-helper -u <email or username> <COURSE NAME>

Your downloaded videos will be placed in current directory, but you can also choose another destination with the --path argument.

More download options

General download:

coursera-helper --cauth <CAUTH> <COURSE NAME>

Specify download location:

coursera-helper --cauth <CAUTH> --path <PATH> <COURSE NAME>

Download with subtitles:

coursera-helper --cauth <CAUTH> --subtitle-language en,zh-CN|zh-TW <COURSE NAME>

Specify video resolution:

coursera-helper --cauth <CAUTH> --video-resolution 720p <COURSE NAME>

Download with quizzes:

coursera-helper --cauth <CAUTH> --download-quizzes <COURSE NAME>

Download with notebooks:

coursera-helper --cauth <CAUTH> --download-notebooks <COURSE NAME>

Use configuration file

Alternatively, if you want to store your preferred parameters (which might also include your username and password), create a file named coursera-dl.conf where the script is supposed to be executed, with the following format:

--username <user>
--password <pass>
--subtitle-language en,zh-CN|zh-TW
--download-quizzes
--download-notebooks
--video-resolution 720p
--download-delay 10
--cauth <cauth value>

If you have created a file named coursera-dl.conf, you just download course with command:

coursera-helper <COURSE NAME>

Troubleshooting

CAUTH

Find your coursera CAUTH:

Chrome:

  1. Open the browser and login to https://www.coursera.org/

  2. Open the last DevTools panel

    Windows or Linux: Press F12 on the keyboard. Or press the Ctrl + Shift + I keys.

    Mac: Press Fn + F12 on the keyboard. Or press the Cmd + Option + I keys.

  3. Open Application > Storage > Cookies and select https://www.coursera.org/.

  4. find and click CAUTH > Copy value CAUTH

Firefox:

  1. Open the browser and login to https://www.coursera.org/

  2. Open the last DevTools panel

    Windows or Linux: Press F12 on the keyboard. Or press the Ctrl + Shift + I keys.

    Mac: Press Fn + F12 on the keyboard. Or press the Cmd + Option + I keys.

  3. Open Storage > Cookies and select https://www.coursera.org/.

  4. find and click CAUTH > Copy value CAUTH

china-issues

If you are from China and you're having problems downloading videos, adding

52.84.167.78   d3c33hcgiwev3.cloudfront.net

in the hosts file (/etc/hosts or C:\Windows\System32\drivers\etc)

Flush DNS with this command in the terminal.

ipconfig /flushdns

Reporting issues

Before reporting any issue please follow the steps below:

  1. Verify that you are running the latest version of all the programs. Use the following command if in doubt:

     pip install --upgrade coursera-helper
    
  2. If the problem persists, feel free to open an issue in our bug tracker, please fill the issue template with as much information as possible.

Disclaimer

coursera-helper is meant to be used only for your material that coursera gives you access to download. We do not encourage any use that violates their Terms Of Use.

coursera-helper's People

Contributors

balta2ar avatar jonasdt avatar jplehmann avatar rbrito avatar mxamin avatar vladistan avatar asiviero avatar charlesbickel avatar arlimus avatar csyezheng avatar iemejia avatar leonidvasilyev avatar wiedi avatar meejah avatar victorwestmann avatar azizmb avatar felker avatar thegoddessinari avatar filosottile avatar vojnovski avatar swechha avatar santosh avatar rsdcastro avatar rranelli avatar rteslaru avatar opsxcq avatar moiseslodeiro avatar miguelmalvarez avatar mcarpenter avatar github-john-doe 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.