SCNU 砺儒云 (Moodle) 视频自动观看工具
基于 Playwright 的自动化脚本,支持自动登录华南师范大学砺儒云系统、解析视频列表并完成自动播放。
- ✅ 多种登录方式: 支持账号密码自动登录(推荐)及手动 Cookie 登录
- ✅ 状态自动维护: 自动检测并刷新登录状态
- ✅ 智能链接解析: 自动匹配并提取课程中的视频链接
- ✅ 精准播放控制: 实时检测播放进度,确保视频真正播放完成
- ✅ 断点续播: 自动处理播放中断,确保流程不间断
- ✅ 可视化进度: 基于
rich库构建的美化进度条,实时展示剩余时长 - ✅ 多模式支持: 支持有界面窗口模式或后台无头模式运行
- ✅ 专为 SCNU 优化: 深度适配华南师范大学 Moodle 平台
本程序依赖系统中已安装的浏览器,请确保您的电脑上安装了以下任一浏览器:
- Microsoft Edge (推荐,已通过完整测试)
- Google Chrome
理论上 Playwright 支持 Firefox / Safari(Webkit) ,但是这俩用的人都不多,我就懒了,但是也欢迎提交 PR
💡 提示: 目前主要在 Edge 浏览器上进行开发和测试。若在其他浏览器中遇到异常,欢迎提交反馈。
另外... 本程序目前从未在 Mac 平台进行过测试(作者手中暂无 Mac 设备),非常欢迎有条件的好心人帮忙测试运行效果,并提交反馈!
前往 Releases 页面,下载对应系统的可执行文件:
- Windows:
fly_video_assignment_away-windows.exe - macOS:
fly_video_assignment_away-macos
⚠️ 重要提示: 目前生成的可执行文件发行版(Release)尚未经过充分测试,可能存在运行不稳定的情况。若您在运行过程中遇到严重问题,建议:
在程序所在目录下参考 .env.example 创建 .env 配置文件:
# 浏览器类型 (msedge/chrome/firefox)
BROWSER=msedge
# 是否开启无头模式(true 表示隐藏浏览器界面,false 表示显示)
HEADLESS=false
# 课程详情页 URL
VIDEO_LIST_URL=https://moodle.scnu.edu.cn/course/view.php?id=12345如何获取课程链接?
- 登录 砺儒云系统。
- 点击进入您需要观看视频的课程页面。
- 复制浏览器地址栏中的完整 URL(类似于
https://moodle.scnu.edu.cn/course/view.php?id=XXXXX)。
直接双击运行程序。如果已有保存的 Cookie 会自动尝试登录;否则推荐选择「账号密码登录」,在命令行中输入账号密码即可自动完成 SSO 登录,程序随后会自动接管播放流程。
请注意:短时间登录错误次数过多账户会被锁定一个小时 手动端到端测试登录代码的弊端出现了😢
如果您熟悉 Python 环境,也可以直接运行源代码:
- Python: 3.13+
- venv 管理: 推荐使用 uv
# 1. 克隆仓库
git clone https://github.com/YewFence/fly_vedio_assignment_away.git
cd fly_vedio_assignment_away
# 2. 安装依赖
uv sync
# 3. 配置环境 (编辑 .env 文件)
cp .env.example .env
# 4. 运行
uv run python main.py如果你不想安装 uv,也可以用 Python 自带的 venv + pip:
# 1. 克隆仓库
git clone https://github.com/YewFence/fly_vedio_assignment_away.git
cd fly_vedio_assignment_away
# 2. 创建并激活虚拟环境
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
source .venv/bin/activate
# 3. 安装依赖
pip install .
# 4. 配置环境 (编辑 .env 文件)
cp .env.example .env
# 5. 运行
python main.pygraph TD
A[启动程序] --> B{存在已保存的 Cookie?}
B -- 是 --> C[自动尝试 Cookie 登录]
C --> D{登录成功?}
D -- 是 --> F[访问指定的课程页面]
D -- 否 --> E[选择登录方式]
B -- 否 --> E
E --> F
F --> G[扫描并解析视频资源链接]
G --> H[依次进入视频页面播放]
H --> I{是否检测到完成?}
I -- 否 --> H
I -- 是 --> J[检查下一个视频]
J -- 全部完成 --> K[退出程序]
启动程序后,选择 账号密码登录 模式,在命令行中输入账号和密码。程序会自动完成 SSO 登录并获取砺儒云的会话 Cookie,全程无需手动操作浏览器。登录成功后 Cookie 会自动保存,下次启动时会优先尝试复用。
- 安装 Cookie-Editor 扩展。
- 在浏览器中登录 SCNU 砺儒云。
- 点击插件,选择 "Export" 将 Cookies 导出为 JSON 格式。
- 运行程序,选择
使用您手动获取的 Cookies 登录模式,将导出的内容粘贴进程序中。
- 隐私保护: 请妥善保管您的
.env和cookies.json文件,切勿分享给他人或上传至公开平台。 - 定期更新: Cookie 具有时效性,若登录失效请重新运行程序使用账号密码登录。
- 合理使用: 本工具仅用于辅助学习,请确保您的使用行为符合学校相关规定。
Q: 为什么不需要单独下载浏览器驱动? A: 本项目基于 Playwright,默认会尝试调用系统中已安装的浏览器,无需手动管理 WebDriver。
Q: macOS 或 Linux 用户如何配置?
A: 请在 .env 文件中将 BROWSER 修改为 msedge 或 chrome,并确保系统中已安装相应浏览器。
Q: 登录状态失效怎么办? A: 如果 Cookie 过期,最简单的方法是重新运行程序并选择账号密码登录。
如果您在使用过程中遇到任何问题或有改进建议,欢迎提交 Issue。
本项目基于 MIT License 协议开源。
感谢支持!