雨课堂刷课脚本(雨课堂视频自动播放),基于浏览器模拟的方式运行,无需虚拟机,甚至可以以无窗口模式运行。(MOOC)
视频演示地址:Bilibili@BV15K4y1F7EN
- 下载最新版本的
YuketangAutoPlayer.exe - 将
YuketangAutoPlayer.exe放到任意目录 - 双击运行,首次运行会自动生成
config.ini配置文件 - 编辑
config.ini填写你的课程URL和Cookie(获取方式见下文) - 再次运行即可开始自动播放
主要分为四步:
- 配置Python环境
- 配置浏览器驱动(推荐Chrome浏览器)
- 设置刷课信息
- 开始刷课
使用 uv 包管理器(推荐):
uv pip install selenium或使用传统 pip:
pip install selenium本项目默认以Chrome为例,以Windows系统为例。其他浏览器原理类似、其他操作系统原理类似。
首先电脑上要安装有Chrome浏览器(别装到假的Chrome了,之前有同学装了个假Chrome后来问我为什么程序不能正常运行QAQ)
其次需要下载对应版本的ChromeDriver:下载地址1、下载地址2、下载地址3、教程1、教程2、最后的尝试。(版本相差不大的话也无所谓)
将ChromeDriver.exe放到环境变量中 或 脚本(执行)目录下。
使用 config.ini 配置文件。首次运行脚本时会自动生成 config.ini ,也可以复制 config.ini.example 并重命名为 config.ini:
[Settings]
headless = false
course_url = 在此填写你的课程URL
cookie = 在此填写你的sessionid
implicitly_wait = 10是否以无窗口模式运行。建议以有窗口模式运行(设置为 false)。
若设置为 true,则不会弹出Chrome浏览器界面,但视频仍能正常刷取。
你要刷的课的URL。
进入雨课堂,进入你想要刷的课程,点击“学习内容”,复制地址栏的url即可。
(注意是https格式的哦)
**若你觉得COOKIE的获取比较麻烦,你可以选择跳过这一步并每次重新扫码登录。**扫码登录不支持HEADLESS模式。
COOKIE用来告诉雨课堂你是你。获取方式如下:
登录(你们学校的)雨课堂,打开开发者工具(下图的步骤1,也可百度),依次点击"应用→存储→Cookie→ https://xxx.yuketang... ",复制sessionid对应的值
python main.py如果你想要打包成独立的可执行文件:
- 确保
chromedriver.exe在项目根目录 - 安装 PyInstaller:
uv pip install pyinstaller手动执行:
pyinstaller YuketangAutoPlayer.spec --clean打包完成后,dist 目录下会生成 YuketangAutoPlayer.exe。该 exe 文件已内置 chromedriver,可以独立运行。
注意,使用过程中可以缩浏览器小窗口去干其他事情,但尽量不要将鼠标移动到程序弹出的浏览器窗口上。因为本项目的运行原理就是模拟用户对浏览器的控制。
缓存:若视频播放完毕程序正常结束,则缓存将被自动清理。若视频未播放完毕提前关掉了程序,则Windows系统下缓存位置在%temp%/chrome_BITS_xxx下。
- 感谢Github@SwordLikeRain的Cookie错误时提示不准确的issue(good first issue),使得程序修改后支持了每次扫码登录。
- 感谢BiliBili@Bacch的
AttributeError: 'WebDriver' object has no attribute 'find_elements_by_class_name'的报错提醒,使得程序修改后兼容了selenium≥4.0。 - 感谢BiliBili@青鹧不懂蓝桉情提供的账号,使得程序修改后支持了
www.yuketang.cn这种域名下的雨课堂界面。 - 感谢Github@420xincheng的没刷完视频,就自动退出的解决方法(#8),播放完毕一个视频刷新后等待5秒防止页面暂未加载完成。
- 感谢Github@Guo-Chenxu的
ifVideo函数修改(#13),更新COMMONUI下未播放视频的判断逻辑。 - 感谢Github@泠辰的已过期视频循环播放bugfix (#17),修复了存在已过期视频时会重复播放已过期视频的问题。
- 感谢Github@ke tan的exe打包文件方式(#18),Windows当前新版Chrome可一键运行免除环境配置及驱动下载困扰。
- 抽象一个获取待播放视频的函数(Suggested by Copilot)。
本项目的唯一目的是:selenium技术的学习与实践。
禁止用于其他用途,下载后请于24h内删除【Doge】。
若导致账号封禁(目前来看完全不会)或其他因BUG造成的损失,与本项目无关。


