A python script to download courses from Khan Academy using yt-dlp and beautifulsoup4.
pip install khan-dl -U
$ khan-dl -h
usage: khan-dl [-h] [-i] [-c COURSE_URL]
optional arguments:
-h, --help show this help message and exit
-i, --interactive Enter Interactive Course Selection Mode
-c COURSE_URL, --course_url COURSE_URL
Enter Course URL
-a, --all Download all Courses from all Domains
- You can download courses interactively on a prompt, which will list all course domains and their respective courses available with tab completion.
$ khan-dl -i
_ __ _ _ _ _ _ ____ _
| |/ /| | | | / \ | \ | | | _ \ | |
| ' / | |_| | / _ \ | \| | _____ | | | || |
| . \ | _ | / ___ \ | |\ ||_____|| |_| || |___
|_|\_\|_| |_|/_/ \_\|_| \_| |____/ |_____|
Domain: Math
Selected Domain: math
Downloading Courses...
Course: Early math
Selected Course: Early math
Course URL: https://www.khanacademy.org/math/early-math
Generating Path Slugs.....
Collecting Youtube IDs: 100.0% [========================================================================================================================================>] 4/ 4 eta [00:00]
Downloading Videos: 0.0% [> ] 0/ 75 eta [?:??:??]
- Download a specific course.
$ khan-dl -c "https://www.khanacademy.org/math/early-math"
_ __ _ _ _ _ _ ____ _
| |/ /| | | | / \ | \ | | | _ \ | |
| ' / | |_| | / _ \ | \| | _____ | | | || |
| . \ | _ | / ___ \ | |\ ||_____|| |_| || |___
|_|\_\|_| |_|/_/ \_\|_| \_| |____/ |_____|
Looking up https://www.khanacademy.org/math/early-math...
Course URL: https://www.khanacademy.org/math/early-math
Generating Path Slugs...
Collecting Youtube IDs: 100.0% [========================================================================================================================================>] 4/ 4 eta [00:00]
Downloading Videos: 0.0% [> ] 0/ 75 eta [?:??:??]
- Download all courses on traditional subjects like Math, Science, Computing, Humanities, Economics-Finance-Domain.
$ khan-dl -a
_ __ _ _ _ _ _ ____ _
| |/ /| | | | / \ | \ | | | _ \ | |
| ' / | |_| | / _ \ | \| | _____ | | | || |
| . \ | _ | / ___ \ | |\ ||_____|| |_| || |___
|_|\_\|_| |_|/_/ \_\|_| \_| |____/ |_____|
Downloading all Courses from all Domains...
Selected Domain: math
Downloading Courses...
Selected Domain: science
Downloading Courses...
Selected Domain: computing
Downloading Courses...
Selected Domain: humanities
Downloading Courses...
Selected Domain: economics-finance-domain
Downloading Courses...
Selected Domain: ela
Downloading Courses...
Course URL: https://www.khanacademy.org/math/early-math
Generating Path Slugs...
Collecting Youtube IDs: 100.0% [========================================================================================================================================>] 4/ 4 eta [00:00]
Downloading Videos: 0.0% [> ] 0/ 75 eta [?:??:??]
Khan Academy is also available for offline usage through these Open Source projects: