适用于黑龙江科技大学马克思主义学院智能化学习考试系统的简易搜题 Web API。
前置条件:
- Python;
- Microsoft Visual C++ 14.0(见疑难杂症);
- Git;
- 网络代理(非必需)。
步骤:
- 克隆本仓库代码:
git clone https://github.com/bianyukun1213/MYZXKSAssistant.git
; - 安装依赖项:
pip install -r requirements.txt
; - 启动助手:
python .\myzxks_assistant.py
。
查询 Url 是 http://<主机>:8972/search?title=<题目>
。
前置条件:
- 容器平台(以 Docker 为例);
- 网络代理(非必需)。
步骤:
- 拉取并运行容器:
docker run -d -v <主机数据路径>:/ma_data -v <主机日志路径>:/ma_log -p <主机监听端口>:8972 -e HTTP_PROXY=<HTTP 代理地址> -e HTTPS_PROXY=<HTTPS 代理地址> heyhollis/myzxks-assistant:latest
。
此外,还可附加 PUID
、PGID
、TZ
等环境变量,具体见 docker/Dockerfile
。
查询 Url 是 http://<主机>:<主机监听端口>/search?title=<题目>
。
微信小程序:
- 使用 Fiddler 抓取数据,具体方法不赘述;
- 提取数据中的
text
部分,删去用户信息仅保留题目,将单选题、多选题及判断题合并为一个 JSON 文件,命名为input_<科目>.json
,具体数据格式见tools/inputs
下的示例; - 运行
tool.py
整理数据(假设你已将工作目录切换至tools
):python .\tool.py
; - 将生成的
output.json
复制到ma_data
目录并重命名为data.json
。
智慧树(知到):
- 登录智慧树网站,找到你的 UUID:在 Cookie 中找到包含
exitRecod_
字样的项目,_
后面的字符串就是 UUID; - 进入相应课程,从 Url 获取 courseId;
- 运行
tool_zhihuishu.py
整理数据(假设你已将工作目录切换至tools
):python .\tool_zhihuishu.py <courseId> <UUID>
; - 将生成的
from_zhihuishu/output_<courseId>.json
复制到inputs
目录并重命名为input_zhihuishu_<科目>.json
; - 同样运行
tool.py
整理数据,步骤不再阐述。
马院考试助手仅仅为一个简易搜题 Web API,Android 平台下的交互部分由“FV 悬浮球”的“自定义任务”功能实现。
在 FV 悬浮球的任务分享平台搜索并安装 USTH 马院考试搜题
自定义任务,再安装简体中文识别库即可。
使用前需填入查询 Url。
先安装 Microsoft Visual C++ 14.0,然后再次尝试。如果仍然报错,安装 Windows 10 SDK(可与 Microsoft Visual C++ 14.0 一同在 Visual Studio 2022 生成工具里安装),然后按照这里记录的操作复制两个文件,再次尝试。
有些手机系统如 MIUI 会阻止 FV 悬浮球等第三方应用程序针对微信截图或共享屏幕,请放行。
除此之外,这是一个已知问题。USTH 马院考试搜题使用了 FV 悬浮球自带的光学识别功能,有些时候,它就是不好使(我也不知道为什么),因此我添加了手动输入题目的对话框,如果识别失败,可手动输入题目关键字搜索。
如果光学识别功能始终不好使,请检查 FV 悬浮球的 设置
——截图
——自动文字识别
项,确保 类型
设置为 本地
并启用了简体中文的文字识别库。
如需支持 HTTPS 或修改路由,可参考以前的版本修改代码,或者使用反向代理。