You are on page 1of 4

Search projects  Help Sponsor Log in Register

dl-coursera 0.1.2  Latest version

pip install dl-coursera  Released: Sep 21, 2019

A simple, fast, and reliable Coursera crawling & downloading tool

Navigation Project description


 Project description
build unknown pypi v0.1.2 license MIT

 Release history
Todo
 Download files [x] Lectures (videos, subtitles, slides)
[x] Readings
[ ] Quizs
Project links
[ ] Jupyter notebooks

 Homepage
Install

Statistics Python 3.x is required. It is recommended to install this tool in a virtual environment.

GitHub statistics:
 Stars: 112
$ pip install -U dl_coursera
$ dl_coursera --version
 Forks: 24

 Open issues/PRs: 13
View statistics for this project via How-to
Libraries.io , or by using our public
dataset on Google BigQuery  1. Get the cookies.txt file

Sign in to Coursera, then use a browser extension to export cookies as cookies.txt. The cookies.txt will expire in
Meta about two weeks, so you don't need to do this so frequently.

License: MIT License For Chrome, you can use the cookies.txt extension.

Author: fengleizZZ 

 dl_coursera, coursera, coursera-


dl, download, education, MOOC

Requires: Python >=3.5

Maintainers

fengleizZZ

Classifiers

Development Status
4 - Beta For Firefox, you can use the Export Cookies extension.

Environment
Console

Intended Audience
End Users/Desktop

License
OSI Approved :: MIT License

Operating System
OS Independent

Programming Language
Python :: 3 :: Only
2. Enroll
Topic
Navigate to homepage of the course/specialization you'd like to download, you can see its slug at the address
Education
bar. Enroll it.
3. Download

$ dl_coursera --help
usage: dl_coursera_run.py [-h] [--version] [--cookies COOKIES] --slug SLUG
[--isSpec] [--n-worker {1,2,3,4,5}]
[--outdir OUTDIR] --how
{builtin,curl,aria2,aria2-rpc,uget,dummy}
[--generate-input-file]
[--aria2-rpc-url ARIA2_RPC_URL]
[--aria2-rpc-secret ARIA2_RPC_SECRET]

A simple, fast, and reliable Coursera crawling & downloading tool

optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--cookies COOKIES path of the `cookies.txt`
--slug SLUG slug of a course or a specializtion (with @--isSpec)
--isSpec indicate that @--slug is slug of a specialization
--n-worker {1,2,3,4,5}
the number of threads used to crawl webpages. Default:
3
--outdir OUTDIR the directory to save files to. Default: `.'
--how {builtin,curl,aria2,aria2-rpc,uget,dummy}
how to download files. builtin (NOT recommonded): use
the builtin downloader. curl: invoke `curl` or
generate an "input file" for it (with @--generate-
input-file). aria2: invoke `aria2c` or generate an
"input file" for it (with @--generate-input-file).
aria2-rpc (HIGHLY recommonded): add downloading tasks
to aria2 through its XML-RPC interface. uget
(recommonded): add downloading tasks to the uGet
Download Manager
--generate-input-file
when @--how is curl/aria2, indicate that to generate
an "input file" for that tool, rather than to invoke
it
--aria2-rpc-url ARIA2_RPC_URL
url of the aria2 XML-RPC interface. Default:
`http://localhost:6800/rpc'
--aria2-rpc-secret ARIA2_RPC_SECRET
authorization token of the aria2 XML-RPC interface

If the command succeeds, you shall see `Done :-)`. If some UNEXPECTED errors
occur, try decreasing the value of @--n-worker and/or removing the directory
@--outdir. For more information, visit `https://github.com/feng-lei/dl_coursera`.

# download the course, of which slug is "mathematical-thinking"


# saving files to the directory "mt"
# using the "built-in" downloader
$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how

# download the specialization, of which slug is "algorithms"


# saving files to the directory "alg"
# using the "built-in" downloader
$ dl_coursera --cookies path/to/cookies.txt --slug algorithms --isSpec --outdir alg --how

Examples

using the "built-in" downloader

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how bui

using the "curl" downloader

# make sure curl (https://curl.haxx.se/download.html) is installed and in PATH


$ curl --version

The "curl" downloader can be used in two di erent ways: invoking curl , or generating an input file for curl .
invoke curl

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how cur

generate an input file for curl

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how cur


$ curl --config mt/mathematical-thinking.download.curl_input_file.txt

using the "aria2" downloader

# make sure aria2 (https://aria2.github.io) is installed and in PATH


$ aria2c --version

The "aria2" downloader can be used in two di erent ways: invoking aria2c , or generating an input file for aria2c .

invoke aria2c

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how ari

generate an input file for aria2c

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how ari


$ aria2c --input-file mt/mathematical-thinking.download.aria2_input_file.txt

Using the "aria2-rpc" downloader

# make sure aria2 (https://aria2.github.io) is installed and in PATH


$ aria2c --version

# start aria2 with its XML-RPC interface enabled


$ aria2c --enable-rpc

$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how ari

Using an aria2 GUI like webui-aria2 is highly recommended.

Using the "uget" downloader

# make sure uGet (https://sourceforge.net/projects/urlget/files/) is installed and in PATH

## on Windows
$ uget --version | more

## on Linux
$ uget-gtk --version

# start uGet

## on Windows
$ uget

## on Linux
$ uget-gtk &
$ dl_coursera --cookies path/to/cookies.txt --slug mathematical-thinking --outdir mt --how uge

Help About PyPI Contributing to PyPI Using PyPI

Installing packages  PyPI on Twitter  Bugs and feedback Code of conduct 


Uploading packages  Infrastructure dashboard  Contribute on GitHub  Report security issue
User guide  Package index name retention  Translate PyPI  Privacy policy 
FAQs Our sponsors Development credits  Terms of use

Status: Minor Service Outage 

Developed and maintained by the Python community, for the Python community.
Donate today!

© 2021 Python So ware Foundation 


Site map

Switch to desktop version

 English español français 日本語 português (Brasil) українська Ελληνικά Deutsch 中文 (简体) русский ‫עברית‬

Google
Pingdom Object Storage and Sentry AWS DataDog Fastly DigiCert StatusPage
Monitoring Download Analytics Error logging Cloud computing Monitoring CDN EV certificate Status page

You might also like