Code Monkey home page Code Monkey logo

myzxksassistant's Introduction

Hollis 的马院考试助手

  适用于黑龙江科技大学马克思主义学院智能化学习考试系统的简易搜题 Web API。

使用文档

Windows 部署

前置条件:

  • Python;
  • Microsoft Visual C++ 14.0(见疑难杂症);
  • Git;
  • 网络代理(非必需)。

步骤:

  1. 克隆本仓库代码:git clone https://github.com/bianyukun1213/MYZXKSAssistant.git
  2. 安装依赖项:pip install -r requirements.txt
  3. 启动助手:python .\myzxks_assistant.py

  查询 Url 是 http://<主机>:8972/search?title=<题目>

容器部署

前置条件:

  • 容器平台(以 Docker 为例);
  • 网络代理(非必需)。

步骤:

  1. 拉取并运行容器:docker run -d -v <主机数据路径>:/ma_data -v <主机日志路径>:/ma_log -p <主机监听端口>:8972 -e HTTP_PROXY=<HTTP 代理地址> -e HTTPS_PROXY=<HTTPS 代理地址> heyhollis/myzxks-assistant:latest

  此外,还可附加 PUIDPGIDTZ 等环境变量,具体见 docker/Dockerfile

  查询 Url 是 http://<主机>:<主机监听端口>/search?title=<题目>

题目抓取、导入(Windows)

微信小程序:

  1. 使用 Fiddler 抓取数据,具体方法不赘述;
  2. 提取数据中的 text 部分,删去用户信息仅保留题目,将单选题、多选题及判断题合并为一个 JSON 文件,命名为 input_<科目>.json,具体数据格式见 tools/inputs 下的示例;
  3. 运行 tool.py 整理数据(假设你已将工作目录切换至 tools):python .\tool.py
  4. 将生成的 output.json 复制到 ma_data 目录并重命名为 data.json

智慧树(知到):

  1. 登录智慧树网站,找到你的 UUID:在 Cookie 中找到包含 exitRecod_ 字样的项目,_ 后面的字符串就是 UUID;
  2. 进入相应课程,从 Url 获取 courseId;
  3. 运行 tool_zhihuishu.py 整理数据(假设你已将工作目录切换至 tools):python .\tool_zhihuishu.py <courseId> <UUID>
  4. 将生成的 from_zhihuishu/output_<courseId>.json 复制到 inputs 目录并重命名为 input_zhihuishu_<科目>.json
  5. 同样运行 tool.py 整理数据,步骤不再阐述。

Android 端使用

  马院考试助手仅仅为一个简易搜题 Web API,Android 平台下的交互部分由“FV 悬浮球”的“自定义任务”功能实现。

  在 FV 悬浮球的任务分享平台搜索并安装 USTH 马院考试搜题 自定义任务,再安装简体中文识别库即可。

  使用前需填入查询 Url。

疑难杂症

安装 python-Levenshtein 时报错

  先安装 Microsoft Visual C++ 14.0,然后再次尝试。如果仍然报错,安装 Windows 10 SDK(可与 Microsoft Visual C++ 14.0 一同在 Visual Studio 2022 生成工具里安装),然后按照这里记录的操作复制两个文件,再次尝试。

自定义任务无法识别屏幕上的文字

  有些手机系统如 MIUI 会阻止 FV 悬浮球等第三方应用程序针对微信截图或共享屏幕,请放行。

  除此之外,这是一个已知问题。USTH 马院考试搜题使用了 FV 悬浮球自带的光学识别功能,有些时候,它就是不好使(我也不知道为什么),因此我添加了手动输入题目的对话框,如果识别失败,可手动输入题目关键字搜索。

  如果光学识别功能始终不好使,请检查 FV 悬浮球的 设置——截图——自动文字识别 项,确保 类型 设置为 本地 并启用了简体中文的文字识别库。

HTTPS 与路由

  如需支持 HTTPS 或修改路由,可参考以前的版本修改代码,或者使用反向代理。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.