diff --git a/README.md b/README.md new file mode 100644 index 0000000..82db6af --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# 安全微伴自动学习程序 + +## 声明 +1. 本项目基于 @FallenSigh 的 [WeibanTool](https://github.com/FallenSigh/WeibanTool) 项目进行修改适配 +2. 此项目仅供学习交流,本人不对因使用此项目产生的任何后果负责 + +## 实现原理 +1. 使用API抓取课程列表(可得到每门课的课程ID) +2. 遍历每个课程,使用课程ID请求进入学习接口 +3. 将课程ID上传给验证码接口,获取验证码图像 +4. 将验证码图像显示在屏幕上,供用户点击 +5. 将点击的坐标提交到验证码校验接口,获取methodToken +6. 使用methodToken请求课程完成接口,完成该课程学习 +7. 重复步骤2-6,直至所有课程学习完成 + +## 使用方法 + +### 0. 安装所需库 + +本项目使用到的库(import语句)已列在下方: +``` +import datetime +import json +import random +import requests +import time +import cv2 +import os +import json +``` + +### 1. 需要抓取的内容 + +访问 [安全微伴网页版](https://weiban.mycourse.cn/) 并登录,使用浏览器的F12开发者工具抓取以下内容 + - X-Token:每次登录的ID,会随登录次数不同而改变,会超时自动过期。可寻找XXX.do请求进行抓取 + - user_id:用户ID,每个人唯一,不会改变 + - user_project_id:当前学习项目的ID,每次任务不同,可直接从地址栏中获得 + - tenant_code:学校ID,每个学校唯一 + +### 2. 将抓取到的内容填入main.py中 + +``` +x_token = '' +user_id = '' +user_project_id = '' +tenant_code = '' +``` + +### 3. 运行main.py,当程序弹出验证码时进行验证。 + +程序提供5次自动验证码重试次数,超过5次会自动终止运行。该次数可在main.py中下面代码处修改 +``` +if (retry_cnt >= 5): + print('验证码重试次数达到上限,系统自动退出') + exit(-1) +```