使用coursera-dl可离线下载Coursera课程资源:先安装工具并配置.netrc凭证,再通过课程ID执行下载;支持按格式、字幕、分辨率、路径筛选,且具备断点续传功能。

如果您希望将Coursera平台上的课件与视频保存至本地设备以供离线学习,但无法直接通过网页界面下载,则需借助第三方命令行工具coursera-dl。以下是实现该目标的具体操作步骤:
一、安装coursera-dl工具
该工具是专为Coursera课程资源批量下载设计的开源程序,依赖Python环境运行,安装后即可调用命令执行下载任务。
1、确保系统已安装Python 3.9或更高版本,并配置好pip包管理器。
2、在终端或命令提示符中执行以下命令完成安装:pip install coursera-dl
3、如系统存在多个Python版本,请改用pip3 install coursera-dl确保安装至正确环境。
二、获取课程ID
课程ID是coursera-dl识别并定位课程内容的关键标识,必须准确提取,否则将导致下载失败或内容错乱。
1、打开Coursera网站,进入目标课程主页,例如URL为https://www.coursera.org/learn/machine-learning。
2、截取域名后斜杠后的最后一段路径,即machine-learning,此即为该课程的唯一课程ID。
3、若课程为专项课程(Specialization),可使用其主课程ID,工具将自动识别并下载全部子课程内容。
三、使用.netrc文件安全保存凭证
该方法避免在命令行中明文暴露邮箱与密码,提升账户安全性,且后续调用无需重复输入认证信息。
1、在用户主目录下创建名为.netrc的文件(Linux/macOS)或_netrc(Windows)。
2、向文件中写入以下两行内容(替换为您的实际Coursera账号):
machine coursera-dl
login your_email@example.com
password your_actual_password
3、设置文件权限(仅限Linux/macOS):执行chmod 600 ~/.netrc防止其他用户读取。
四、执行基础课程下载
在凭证配置完成后,可使用简洁命令触发完整课程资源下载,包括视频、PDF讲义、字幕、测验题等默认支持格式。
1、打开终端,切换至期望保存课程的父目录(如未指定路径,将默认下载至当前工作目录)。
2、运行以下命令:coursera-dl -n -- course-id,其中course-id替换为第二步获取的实际ID。
3、工具将自动登录、解析课程大纲、建立下载队列,并开始逐个获取资源文件。
五、按需筛选下载内容
当仅需特定类型资源(如仅课件PDF或仅视频)时,可通过参数精确控制下载范围,减少冗余数据占用存储空间。
1、仅下载PPT或PDF格式课件:coursera-dl -n --file-formats pdf,ppt course-id
2、仅下载带中文字幕的SRT文件:coursera-dl -n --subtitle-language zh-CN --download-subtitles-only course-id
3、跳过视频仅下载讲义和测验:coursera-dl -n --skip-video course-id
六、指定分辨率与保存路径
针对不同设备或网络条件,可主动限制视频清晰度;同时可将所有课程文件统一归档至指定文件夹,便于后续管理。
1、强制下载720p分辨率视频:coursera-dl -n --video-resolution 720p course-id
2、将课程完整保存至自定义路径:coursera-dl -n --path=/home/user/courses/ course-id
3、组合使用多个参数,例如同时指定路径、分辨率与字幕语言:coursera-dl -n --path=./saved --video-resolution 540p --subtitle-language en,zh-CN course-id
七、断点续传与异常恢复
网络中断或临时认证失效可能导致下载中止,启用断点续传功能可避免从头开始重复下载,节省时间与带宽。
1、首次下载时添加--resume参数启动断点模式:coursera-dl -n --resume course-id
2、若下载中途退出,再次运行相同命令(含--resume)即可自动检测已完成部分并从中断处继续。
3、如遇“HTTP 403 Forbidden”错误,确认是否已在Coursera网站完成该课程的荣誉代码(Honor Code)勾选,否则API访问将被拒绝。


















