2025-12-12 15:09:08 +08:00
2025-12-12 01:25:54 +08:00
2025-12-12 01:25:54 +08:00
2025-12-12 15:04:35 +08:00
2025-12-12 01:25:54 +08:00

自动刷课脚本 (Python)

这是一个用于自动模拟观看 zjbc.cjnep.net 平台课程视频的 Python 脚本。它通过模拟发送心跳包的方式,自动完成课程视频的学习进度。

功能特点

  • 自动识别课程:自动抓取账户下的课程列表和视频章节。
  • 断点续传:本地记录播放进度 (progress.json),中断后可继续播放。
  • 智能跳过:自动跳过已完成的视频(基于 XML 状态或本地记录)。
  • 时长检测:如果 XML 配置中缺少视频时长,会自动调用 ffprobe 获取实际时长。
  • 防掉线机制:心跳请求失败自动重试。
  • 极速模式:支持自定义心跳间隔和每次增加的进度时间(默认配置较为激进,可按需调整)。

环境要求

  1. Python 3.6+
  2. FFmpeg 工具集:脚本依赖 ffprobe 来获取视频时长。
    • 请前往 FFmpeg 官网 下载。
    • 解压并将 bin 目录添加到系统的环境变量 PATH 中。
    • 在终端输入 ffprobe -version 验证是否安装成功。
  3. Python 依赖库
    pip install requests
    

使用说明

  1. 登录您的课程平台账号。
  2. 进入任意一个视频播放页面。
  3. F12 打开开发者工具,切换到 Network (网络) 选项卡。
  4. 找到相关的请求,在 Request Headers (请求头) 中找到 Cookie 字段。
  5. 复制整个 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 以降低风险。
  • 免责声明:本脚本仅供学习和研究使用,请勿用于商业用途或违反平台规定的行为。作者不对使用本脚本导致的任何后果负责。
Description
No description provided
Readme 64 KiB
Languages
Python 100%