Skip to content

雨课堂刷课脚本(雨课堂视频自动播放),基于浏览器模拟的方式运行,无需虚拟机,甚至可以以无窗口模式运行(MOOC)

License

Notifications You must be signed in to change notification settings

LetMeFly666/YuketangAutoPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YuketangAutoPlayer

雨课堂刷课脚本(雨课堂视频自动播放),基于浏览器模拟的方式运行,无需虚拟机,甚至可以以无窗口模式运行。(MOOC)

视频演示地址:Bilibili@BV15K4y1F7EN

使用方法

方式一:使用打包好的 exe 文件(推荐)

  1. 下载最新版本的 YuketangAutoPlayer.exe
  2. YuketangAutoPlayer.exe 放到任意目录
  3. 双击运行,首次运行会自动生成 config.ini 配置文件
  4. 编辑 config.ini 填写你的课程URL和Cookie(获取方式见下文)
  5. 再次运行即可开始自动播放

方式二:从源码运行

主要分为四步:

  1. 配置Python环境
  2. 配置浏览器驱动(推荐Chrome浏览器)
  3. 设置刷课信息
  4. 开始刷课

一、配置Python环境

使用 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

① headless

是否以无窗口模式运行。建议以有窗口模式运行(设置为 false)。

若设置为 true,则不会弹出Chrome浏览器界面,但视频仍能正常刷取。

② course_url

你要刷的课的URL。

进入雨课堂,进入你想要刷的课程,点击“学习内容”,复制地址栏的url即可。

how-to-get-url

(注意是https格式的哦)

③ cookie

**若你觉得COOKIE的获取比较麻烦,你可以选择跳过这一步并每次重新扫码登录。**扫码登录不支持HEADLESS模式。

COOKIE用来告诉雨课堂你是你。获取方式如下:

登录(你们学校的)雨课堂,打开开发者工具(下图的步骤1,也可百度),依次点击"应用→存储→Cookie→ https://xxx.yuketang... ",复制sessionid对应的值

/how-to-get-cookie

四、开始刷课

python main.py

打包为 EXE(可选)

如果你想要打包成独立的可执行文件:

准备工作

  1. 确保 chromedriver.exe 在项目根目录
  2. 安装 PyInstaller:
uv pip install pyinstaller

执行打包

手动执行:

pyinstaller YuketangAutoPlayer.spec --clean

打包完成后,dist 目录下会生成 YuketangAutoPlayer.exe。该 exe 文件已内置 chromedriver,可以独立运行。

使用提示

注意,使用过程中可以缩浏览器小窗口去干其他事情,但尽量不要将鼠标移动到程序弹出的浏览器窗口上。因为本项目的运行原理就是模拟用户对浏览器的控制。

缓存:若视频播放完毕程序正常结束,则缓存将被自动清理。若视频未播放完毕提前关掉了程序,则Windows系统下缓存位置在%temp%/chrome_BITS_xxx下。

感谢列表

TODO

  • 抽象一个获取待播放视频的函数(Suggested by Copilot)。

免责声明

本项目的唯一目的是:selenium技术的学习与实践。

禁止用于其他用途,下载后请于24h内删除【Doge】。

若导致账号封禁(目前来看完全不会)或其他因BUG造成的损失,与本项目无关。

About

雨课堂刷课脚本(雨课堂视频自动播放),基于浏览器模拟的方式运行,无需虚拟机,甚至可以以无窗口模式运行(MOOC)

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages