3.0 KiB
3.0 KiB
自动刷课脚本 (Python)
这是一个用于自动模拟观看 zjbc.cjnep.net 平台课程视频的 Python 脚本。它通过模拟发送心跳包的方式,自动完成课程视频的学习进度。
功能特点
- 自动识别课程:自动抓取账户下的课程列表和视频章节。
- 断点续传:本地记录播放进度 (
progress.json),中断后可继续播放。 - 智能跳过:自动跳过已完成的视频(基于 XML 状态或本地记录)。
- 时长检测:如果 XML 配置中缺少视频时长,会自动调用
ffprobe获取实际时长。 - 防掉线机制:心跳请求失败自动重试。
- 极速模式:支持自定义心跳间隔和每次增加的进度时间(默认配置较为激进,可按需调整)。
环境要求
- Python 3.6+
- FFmpeg 工具集:脚本依赖
ffprobe来获取视频时长。- 请前往 FFmpeg 官网 下载。
- 解压并将
bin目录添加到系统的环境变量PATH中。 - 在终端输入
ffprobe -version验证是否安装成功。
- Python 依赖库:
pip install requests
使用说明
1. 获取 Cookie
- 登录您的课程平台账号。
- 进入任意一个视频播放页面。
- 按
F12打开开发者工具,切换到 Network (网络) 选项卡。 - 找到相关的请求,在 Request Headers (请求头) 中找到
Cookie字段。 - 复制整个 Cookie 字符串。
2. 配置脚本
打开 main.py 文件,找到以下代码行,将 cookie 变量的值替换为您刚才复制的内容:
# [警告] 下方的 cookie 包含敏感登录信息,请勿泄露给他人!
cookie="您的Cookie字符串粘贴在这里"
您也可以根据需要调整以下配置:
# [配置] 心跳间隔(秒)
HEARTBEAT_INTERVAL = 1
# [配置] 每次心跳增加的进度时间(秒)
ADD_TIME = 120
3. 运行脚本
在终端中运行:
python main.py
- 首次运行:脚本会自动抓取您的课程列表和视频信息,并保存到
course_items.json。 - 后续运行:脚本会优先读取本地缓存的课程信息。如果需要重新抓取,请删除
course_items.json文件。
文件说明
main.py: 核心脚本文件。course_items.json: 缓存的课程和视频 ID 列表。progress.json: 本地存储的视频播放进度,用于断点续传。course_ids.json: 临时缓存的课程 ID 列表。
注意事项
- Cookie 有效期:Cookie 可能会过期,如果脚本提示认证失败或无法获取数据,请重新获取并更新 Cookie。
- 风险提示:默认的心跳间隔较短,建议根据实际情况适当延长
HEARTBEAT_INTERVAL以降低风险。 - 免责声明:本脚本仅供学习和研究使用,请勿用于商业用途或违反平台规定的行为。作者不对使用本脚本导致的任何后果负责。