Skip to content
1796447052Public
forked from Touth114/NXJYZ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

在线自动学习脚本(请勿传播与售卖)

这是一个用于自动完成在线课程学习的 Python 脚本。该脚本可以自动观看视频课程并完成课后习题。

功能特点

  • 自动获取并显示用户信息(打卡天数、学习天数等)
  • 自动获取所有课程列表
  • 支持本地缓存课程信息
  • 自动播放未完成的课程视频
  • 自动完成课后习题
  • 支持断点续播功能
  • 支持进度保存和恢复
  • 支持键盘中断(Ctrl+C)时保存进度

使用前准备

  1. 确保已安装 Python 3.x
  2. 安装所需依赖:
pip install requests
  1. 获取认证信息:
    • 使用抓包工具(如 Proxypin、小黄鸟)获取以下信息:
      • Authorization
      • deviceId
      • phoneModel
      • apkVersion
      • terminalVersion
      • UserAgent

配置说明

在 main.py 中配置以下参数:

# 调试模式开关
DEBUG_MODE = False  # 设置为 True 开启调试输出 默认:False
# DEBUG_MODE调试输出开关的作用为观测提交的数据以及返回的数据 供调试可视化观测脚本的请求信息 默认保持False

MODE = True        # True: 自动观看模式, False: 重新观看模式 默认:True
# MODE开关的作用考虑到重复刷的时候无法通过在线在线api中的信息来获取状态

USE_LOCAL_PACKID = True  # True: 使用本地缓存的课程信息
# USE_LOCAL_PACKID主要的作用为将要学习的课程列表进行缓存 并是否通过本地缓存的课程列表进行刷课
# USE_LOCAL_PACKID 的作用是来实现在很多的课程列表里面选择指定的课程进行刷

PACKID_FILE = "course_packids.json"  # 保存 本地缓存的课程信息 的文件名
# 编辑PACKID_FILE 设置的文件 删除不需要刷的课程的json组 即可 需要保证json数据格式的正确!!!

# 认证信息(需要替换为你自己的信息)
#下面这些信息尽量通过抓包获取
Authorization = "你的认证信息"
phoneModel = "你的手机型号"
deviceId = "你的设备ID"
phoneMode = "你的手机型号"
apkVersion = "软件版本号"
terminalVersion = "系统版本号"
UserAgent = "你的 User-Agent"

使用说明

# 在此目录的下存在文件夹 “特质课程” 如需刷特质课程的视频请去特质课程文件夹下刷
# 本文件夹刷的为底栏:->学习 ->本期任务 里面的课程如果需要刷必修课程需要更改 queryMySelfCourseInfo.py下面的来进行获取课程列表的url变量
# queryMySelfCourseInfo.py url中的 semester数表示学期数 
# 大一上学期为semester=1 大二上学期为semester=3
url = "https://prod.nxjyz.net/prod-api/app/student/course/queryMySelfCourseInfo?pageSize=100&semester=1"
  1. 自动观看模式(MODE = True):

    • 自动获取所有课程信息
    • 按顺序观看未完成的课程
    • 自动完成每节课的习题
    • 支持中途退出并保存进度
  2. 重新观看模式(MODE = False):

    • 从指定断点处继续观看
    • 支持本地进度保存
    • 适合需要重新学习的情况

运行方法

python main.py

特殊功能

  1. 课程信息缓存:

    • 首次运行时会创建 course_packids.json 文件
    • 后续运行可以从本地读取课程信息
    • 通过 USE_LOCAL_PACKID 控制是否使用缓存
  2. 进度保存:

    • 重新观看模式下会创建 replay_progress.json
    • 记录当前观看进度
    • 支持断点续播
  3. 中断处理:

    • 支持使用 Ctrl+C 安全退出
    • 退出时会保存当前进度
    • 自动上传已观看时长

目录结构

  • main.py: 主程序入口

  • getInfo.py: 获取章节信息

  • getSectionDetail.py: 获取小节详情

  • queryMySelfCourseInfo.py: 获取课程信息

  • submitQuestionAnswer.py: 提交答案

  • uploadStudyRecord.py: 上传学习记录

  • userinfo.py: 获取用户信息

注意事项

  1. 请合理使用,不要频繁重复操作
  2. 确保网络环境稳定
  3. 认证信息有效期有限,需要及时更新
  4. 建议开启调试模式以便查看详细日志
  5. 如遇到问题,查看错误提示信息进行排查

免责声明

本脚本仅供学习交流使用,请勿用于其他用途。使用本脚本产生的任何问题由使用者自行承担。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages