Skip to content

About

易网通自动刷课工具 —— 自动化完成EWT在线学习平台课程任务

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

EwtAutoStudyBot

易网通自动刷课工具 —— 自动化完成EWT在线学习平台课程任务

Python License Platform


📖 项目简介

EwtAutoStudyBot 是一款专为「易网通」(EWT)在线教育平台设计的自动化学习辅助工具。它能够模拟真实用户行为,自动完成课程视频观看,帮助用户高效管理在线学习进度。

项目主要解决以下痛点:

  • 🎯 课程繁多:假期作业包含大量视频课程,手动逐一点击观看耗时费力
  • 📊 批量管理:多账号场景下,逐个登录切换效率低下

✨ 功能特性

功能模块 描述
👤 多账号支持 支持从 Excel 文件批量导入账号,并发执行刷课任务
🎬 自动刷课 自动播放课程视频,模拟真实观看行为,支持倍速播放
📊 智能进度上报 自动向服务器上报观看进度,标记课程完成状态
🗓️ 任务提前量配置 可设置提前完成天数,灵活规划学习进度
📚 学科过滤 支持按学科筛选课程,精准控制学习范围
🚀 多线程并发 多账号同时运行,大幅提升批量处理效率
📈 实时进度反馈 彩色控制台日志输出,清晰展示每个账号的课程完成进度
🔐 AES加密通信 使用 AES-CBC 加密敏感数据(如密码),保障账户安全

🛠️ 技术栈

类别 技术
编程语言 Python 3.8+
加密库 pyaes (AES-CBC)
HTTP客户端 requests
Excel处理 openpyxl
日志系统 colorlog (彩色控制台输出)
打包工具 PyInstaller

🚀 快速开始

前置条件

  • Python 3.8+
  • 推荐使用虚拟环境

安装步骤

# 1. 克隆项目
git clone https://github.com/yangsongh/EwtAutoStudyBot.git
cd EwtAutoStudyBot

# 2. 创建并激活虚拟环境 (推荐)
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# 或 .venv\Scripts\activate  # Windows

# 3. 安装依赖
pip install -r requirements.txt

账号配置

在项目根目录创建 accounts.xlsx 文件,包含以下三列:

姓名 EWT账号 密码
张三 13800138000 123456
李四 13800138001 654321

基本使用

单账号模式

编辑 src/main.py 文件末尾的配置:

if __name__ == '__main__':
    # 关闭多账号模式
    multi_account = False

    # 配置单个账号
    username, account, password = ('张三', '13800138000', '123456')
    Account(
        username, account, password,
        task_advance_day=30,  # 提前完成天数
        subject_filter=[],    # 要过滤的学科ID列表
        speed=2               # 播放速度倍率
    ).run_account()

然后运行:

python src/main.py

多账号模式

编辑 src/main.py 文件末尾的配置:

if __name__ == '__main__':
    # 开启多账号模式
    multi_account = True

    excel_path = 'accounts.xlsx'
    max_accounts = 1000          # 最大账号数
    account_run_freq = 0         # 账号启动间隔(秒)
    subject_filter = []          # 学科过滤
    speed = 2                    # 播放速度
    task_advance_day = 30        # 提前完成天数

运行程序:

python src/main.py

📁 项目结构

EwtAutoStudyBot/
├── src/                       # 📂 源代码目录
│   ├── main.py                # 🚀 程序入口:Account类与核心刷课逻辑
│   └── utils/                 # 🛠️ 工具模块
│       └── utils_lib.py       # 日志管理、配置管理、通用工具类
├── .vscode/                   # VSCode开发配置
│   ├── launch.json            # 调试配置
│   └── settings.json          # 项目设置(含虚拟环境自动激活)
├── BUILD.BAT                  # 构建脚本(PyInstaller打包)
├── EwtAutoStudyBot.spec       # PyInstaller打包配置
├── requirements.txt           # 📦 Python依赖
└── LICENSE                    # MIT许可证

⚙️ 配置说明

核心参数 (src/main.py 顶部)

参数 类型 说明
multi_account bool 是否启用多账号模式
excel_path str 账号Excel文件路径
max_accounts int 最大并发账号数量
account_run_freq int 账号启动间隔(秒)
subject_filter list 需要跳过的学科ID列表
speed float 视频播放速度倍率
task_advance_day int 提前完成天数

Account 类参数

参数 类型 说明
username str 用户昵称(仅用于日志显示)
account str EWT登录账号(手机号)
password str EWT登录密码
task_advance_day int 提前完成天数
subject_filter list 学科ID过滤列表
speed float 视频播放倍速

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

提交 Issue

  1. 使用清晰的标题描述问题
  2. 提供完整的错误日志和运行环境信息
  3. 附上复现步骤(如适用)

提交 Pull Request

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交代码 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 提交 Pull Request

代码规范

  • 遵循 PEP 8 代码风格
  • 核心函数需包含类型注解 (Type Hints)
  • 新增模块需添加 docstring
  • 提交前确保代码可正常运行

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


🙏 致谢


⚠️ 免责声明

本工具仅供学习和研究使用,请勿用于违反平台服务条款的用途。使用本工具产生的任何后果由使用者自行承担。


📮 联系方式

如有问题或建议,请通过以下方式联系:

About

易网通自动刷课工具 —— 自动化完成EWT在线学习平台课程任务

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages