雨课堂刷课脚本(雨课堂视频自动播放),基于浏览器模拟的方式运行,无需虚拟机,甚至可以以无窗口模式运行。(MOOC)
视频演示地址:Bilibili@BV15K4y1F7EN
主要分为四步:
- 配置Python环境
- 配置浏览器驱动(推荐Chrome浏览器)
- 设置刷课信息
- 开始刷课
记得安装好selenium
pip install selenium
本项目默认以Chrome为例,以Windows系统为例。其他浏览器原理类似、其他操作系统原理类似。
首先电脑上要安装有Chrome浏览器(别装到假的Chrome了,之前有同学装了个假Chrome后来问我为什么程序不能正常运行QAQ)
其次需要下载对应版本的ChromeDriver
:下载地址1、下载地址2、下载地址3、教程1、教程2、最后的尝试。(版本相差不大的话也无所谓)
将ChromeDriver.exe
放到环境变量
中 或 脚本(执行)目录
下。
打开main.py
,代码头部存在以下信息,需要你自己修改:
IF_HEADLESS = False # 是否以无窗口模式运行(首次运行建议使用有窗口模式以观察是否符合预期)
COURSE_URL = 'https://grsbupt.yuketang.cn/pro/lms/84eubUXLHEy/17556639/studycontent' # 要刷的课的地址(获取方式见README)
COOKIE = 'sjfeij2983uyfh84y7498uf98ys8f8u9' # 打死也不要告诉别人哦(获取方式见README)
是否以无窗口模式运行。建议以有窗口模式运行(那就不用改这一行了)。
若以无窗口模式运行,则不会弹出Chrome浏览器界面,但视频仍能正常刷取。
你要刷的课的URL。
进入雨课堂,进入你想要刷的课程,点击“学习内容”,复制地址栏的url即可。
(注意是https格式的哦)
**若你觉得COOKIE的获取比较麻烦,你可以选择跳过这一步并每次重新扫码登录。**扫码登录不支持HEADLESS模式。
COOKIE用来告诉雨课堂你是你。获取方式如下:
登录(你们学校的)雨课堂,打开开发者工具
(下图的步骤1,也可百度),依次点击“应用→存储→Cookie→ https://xxx.yuketang... ”,复制sessionid对应的值
python main.py
注意,使用过程中可以缩浏览器小窗口去干其他事情,但尽量不要将鼠标移动到程序弹出的浏览器窗口上。因为本项目的运行原理就是模拟用户对浏览器的控制。
缓存:若视频播放完毕程序正常结束,则缓存将被自动清理。若视频未播放完毕提前关掉了程序,则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
这种域名下的雨课堂界面。
本项目的唯一目的是:selenium技术的学习与实践。
禁止用于其他用途,下载后请于24h内删除【Doge】。
若导致账号封禁(目前来看完全不会)或其他因BUG造成的损失,与本项目无关。