- 新版 SSO 支持: 完全兼容清华大学网络学堂新的双因素认证登录系统
- 全面覆盖: 一键下载课程公告、课件、作业文件、讨论内容和课程信息
- 作业管理: 下载作业文件及其详细批阅情况
- 助教课程: 支持下载助教相关课程内容
- 增量更新: 智能检测文件变化,只下载新增或更新的内容
- 多进程下载: 支持并发下载,显著提升下载速度
- 进度可视化: 实时显示下载进度和状态
- 灵活筛选: 自由选择下载的课程、学期和内容类型
- 路径自定义: 支持指定下载路径和文件组织结构
- 排除机制: 可跳过指定课程或文件类型
- 多平台支持: 完美运行于 Windows、macOS 和 Linux
-
安装 Chrome 浏览器
- 下载 Chrome
- 确保 Chrome 已正确安装并可正常启动
-
安装 Python 依赖
python>=3.10, bs4, tqdm, requests, selenium, gmssl
pip3 install -r requirements.txt
-
运行脚本测试
python learn.py
- 程序会自动打开 Chrome 浏览器,需手动在浏览器中完成登录(支持双因素认证)

- 登录成功后浏览器跳转到网络学堂界面,脚本程序自动提取会话并开始下载。
在此过程中,请勿关闭浏览器界面;你可以通过脚本程序的输出监控下载进度。
- 登录时不要关闭浏览器窗口
- 确保网络连接正常
下载当前学期课程(默认)
python learn.py启用多进程下载(推荐)
python learn.py --multi指定下载路径
python learn.py --dist your_download_path下载所有学期课程
python learn.py --all下载指定学期课程
python learn.py --semester 2018-2019-1 2018-2019-3下载指定课程
python learn.py --course 计算机网络安全技术 计算机组成原理跳过某几个课程下载
python learn.py --ignore 数据结构 "实验室科研探究(1)"移除所有文件夹下完全相同的文件
python learn.py --clear --all启用多进程下载,并指定进程数(如果不指定则默认使用所有 CPU 核心数)
python learn.py --multi --processes 4以上参数均可组合使用,比如我想并发的更新大二的课程到./download目录,但是不想下载数据结构、实验室科研探究、中国近现代史纲要(课程文件太大了):
python learn.py --semester 2017-2018-1 2017-2018-2 2017-2018-3 --ignore 数据结构 "实验室科研探究(2)" 中国近现代史纲要 --multi --dist ./download如果想跳过正在下载的某个文件,按 Ctrl+C 即可。
- 浏览器会话无效:
- 删除目录下的
session.json文件后重新运行脚本 - (小概率)某些网站可能会检查 User-Agent 与实际请求的一致性,在 codespace 中搜索
imcompatible os并按相关注释更改
- 删除目录下的
- 双因素认证问题:首次使用可能需要在浏览器中完成设备信任,程序会自动处理大部分情况
- 下载速度慢:
- 启用多进程下载,并指定进程数(如果不指定则默认使用所有 CPU 核心数)
- 关闭 VPN 等代理工具
