Skip to content

Hesamsamani/CourseraGrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CourseraGrab icon

CourseraGrab

Download your enrolled Coursera courses, week by week.

Videos, subtitles, quizzes, notebooks and resources, organised just like on the site.

A privacy-first Windows desktop app β€” no telemetry, no cloud uploads.

Python PyQt5 Platform Release Star

CourseraGrab App Interface

✨ Features

  • One-Click Offline Downloading: Browse your enrolled Coursera courses and start downloading entire weeks with a single click.
  • Complete Course Materials: Automatically grabs high-quality videos, localized subtitles, quizzes, Jupyter notebooks, and reading resources.
  • Live GUI Progress Tracking: Clean PyQt5 interface featuring a live progress bar, real-time stop button, and download history.
  • Customizable UI: Switch between list and grid views, and toggle between dark and light themes.
  • Smart Resuming: Pause and resume downloads without losing progress, with quick access to your downloaded folders.
  • Quality Control: Pick your preferred video resolution and select specific subtitle languages before downloading.

πŸ› οΈ Tech Highlights

Area Implementation
UI PyQt5 desktop app with dark/light themes, list/grid course browser
Auth Browser cookie extraction via rookiepy (no password storage)
Downloads Multithreaded pool + isolated worker subprocess for clean stop/resume
Persistence Local SQLite history, settings, and download state
Packaging PyInstaller single-file .exe for Windows distribution

Stack: Python 3.12 Β· PyQt5 Β· requests Β· BeautifulSoup Β· rookiepy Β· PyInstaller

The download engine is adapted from the open-source coursera-dl project.

πŸš€ Getting Started

There are two ways to use CourseraGrab: downloading the standalone app (recommended) or running it via the Python terminal.

Method 1: Download the Windows App (.exe)

You do not need Python installed for this method.

Download Latest Release

  1. Click the button above to go to the Releases page.
  2. Download the CourseraGrab.exe file from the Assets section.
  3. Double-click the .exe file to run the app.

Method 2: Run via Terminal (Python)

If you prefer to run the raw Python code, make sure you have Python 3.12+ installed.

⚠️ CRITICAL: You MUST open your terminal (Command Prompt, PowerShell, or your IDE's Terminal) as an Administrator. If you do not run the terminal as an administrator, the script will not have permission to read your browser's login cookies and will fail to load your courses.

pip install -r requirements.txt
python maingui.py

Credits

Built by Hesam Samani Β· LinkedIn Β· GitHub Β· Portfolio

For personal, offline study of courses you are enrolled in. Please respect Coursera's Terms of Service.

About

πŸ–₯️ A standalone Windows GUI application built in 🐍 Python (PyQt5) to easily download enrolled πŸŽ“ Coursera courses, πŸ“½οΈ videos, πŸ“ subtitles, and πŸ“š resources for offline learning.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages