Download courses from The Great Courses Plus.
Project description
The Great Courses Plus Downloader
A command-line interface (CLI) tool to download courses, lectures, and guidebooks from "The Great Courses Plus" (now Wondrium). This tool allows users to download content for offline viewing, with options for video quality, specific lecture ranges, and output directory customization.
Features
- Course and Lecture Download: Download entire courses or select specific lectures.
- Guidebook Download: Automatically download accompanying PDF guidebooks when available.
- Quality Selection: Choose your preferred video quality (e.g., 360p, 480p, 720p, 1080p).
- Lecture Range Selection: Download a specific range of lectures (e.g.,
1-5,3,1,3,5). - Resumable Downloads: Skips already downloaded lectures.
- Flexible Output: Specify the directory where downloaded content will be saved.
- Dry Run Mode: Preview what would be downloaded without actually downloading files.
- Logging: Detailed logging for debugging and monitoring progress.
Installation
Prerequisites
- Python 3.10+
ffmpeg(for merging video and audio streams)ffproble(for detecting if a file has a video or an audio stream)
You can install ffmpeg via your system's package manager (e.g., brew install ffmpeg on macOS, sudo apt-get install ffmpeg on Debian/Ubuntu) or download it from the official FFmpeg website.
Using uv
uv tool install tgc-dl
Usage
The tgc-dl tool is invoked from the command line.
tgc-dl [OPTIONS] COURSE_URLS...
Arguments
COURSE_URLS: One or more URLs of the courses you want to download.
Options
--cookies-file,-c: Path to thecookies.txtfile. This file is essential for authentication. (Default:tgcp-cookies.txtin the current working directory)--output-directory,-o: Path to where the downloads will be stored. (Default: Current working directory)--quality,-q: Quality of the video to download (min: 360, max: 1080). (Default: 1080)--lecture-range,-r: Download a specific range of lectures (e.g.,'1-5','3','1,3,5'). Only applicable when downloading a single course.--debug,-d: Print debug statements. (Default:False)--dry-run,-n: Dry-run; does not download anything. (Default:False)
Examples
Download a single course with default settings:
tgc-dl "https://www.wondrium.com/course/the-history-of-ancient-egypt"
Download a course to a specific directory and 720p quality:
tgc-dl -o /path/to/your/downloads -q 720 "https://www.wondrium.com/course/the-history-of-ancient-egypt"
Download specific lectures from a course:
tgc-dl -r "1-3,5" "https://www.wondrium.com/course/the-history-of-ancient-egypt"
Perform a dry run to see what would be downloaded:
tgc-dl -n "https://www.wondrium.com/course/the-history-of-ancient-egypt"
Obtaining cookies.txt
To download content, you need to provide a cookies.txt file containing your Wondrium (formerly The Great Courses Plus) session cookies. You can obtain this file using browser extensions like Export Cookies for Chrome or Cookie Quick Manager for Firefox.
- Log in to your Wondrium (The Great Courses Plus) account in your web browser.
- Use the extension to export your cookies in the "Mozilla
cookies.txt" format. - Save the file as
tgcp-cookies.txtin the same directory where you run thetgc-dlcommand, or specify its path using the--cookies-fileoption.
Contributing
Contributions are welcome! Please feel free to open issues or submit pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This tool is intended for personal use only. Please respect the terms of service of "The Great Courses Plus" (Wondrium).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tgc_dl-1.0.1.1-py3-none-any.whl.
File metadata
- Download URL: tgc_dl-1.0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dcbb85dea65b7774b48db2e6550170e149d5cc9bffd1d0b4dd47b7bd4749ad2
|
|
| MD5 |
2fc3d27c7016d53107f088f8f40ebc94
|
|
| BLAKE2b-256 |
ec35fe415e19a7e5b7e1b1e48e93c20477c4bc79120ee57ebb8ea2e63ecd05e8
|