谊安学练习题库导出

进入谊安学“练习”页面后自动下载 CSV,包含题干、全部选项、参考答案、答案对应选项、题目解析及图片链接。也可手动导出 JSON、TXT。

脚本读取网页中已加载的参考答案,包括隐藏答案,不点击选项或“查看答案”,不提交练习。样本中的“查看答案”会记录错题,因此采用直接读取的方式。

在线自动导出

  1. 在 Chrome / Edge 浏览器的油猴(Tampermonkey)中新建脚本。
  2. 将 谊安学题库导出.user.js 的全部内容粘贴进去,保存并启用。
  3. 刷新谊安学网页,正常登录,点击进入“练习”。
  4. 等待题目和答案加载完毕,CSV 会自动下载至浏览器下载目录,右下角显示导出状态。也可点击 CSV / JSON / TXT 按钮重新导出。

脚本匹配 http://10.119.67.7/clientcn/* 和对应 HTTPS 地址,仅在 /exam/<id>/questions?flag=exercise 页面自动导出;考试页面不会触发。站点地址变化时,修改脚本顶部的 @match 地址。

如果脚本未运行,请检查油猴是否启用、浏览器是否允许扩展运行用户脚本。如果提示已发起下载但没有文件,点击右下角导出按钮;浏览器若提示下载权限,允许本页面下载。

从已下载网页导出

  1. 解压原始网页压缩包。
  2. 双击本项目的 离线导出题库.html,保持它与 question-bank-core.js 放在同一目录。
  3. 选择解压得到的 谊安学.html,查看题目数和答案完整性,点击所需导出格式。

本地工具只解析 HTML 文本,不运行原网站脚本、不连接原网站。不需要登录或安装 Node.js。输入的是解压后的 HTML 文件。

油猴脚本也支持原始保存网页;需要在浏览器扩展设置中开启“允许访问文件网址”。通常优先使用上面的离线工具,避免原网页脚本重新启动后清空已保存内容。

导出内容和限制

  • CSV 使用 UTF-8 BOM,可用 Excel 打开;JSON 保留结构化选项和图片地址;TXT 便于阅读。
  • 参考答案与用户已选择的答案分开处理,导出的是网页提供的参考答案。缺失答案保留为空并提示,不推测答案。
  • 自动导出等待题目内容稳定,并核对答题卡数量;存在缺题或缺答案时不会自动下载,手动导出会标记不完整。没有答题卡数量时,只能核对当前 DOM 中的题目,不能保证包含网站未加载的题目。
  • 本版本针对提供的桌面练习页。分页或滚动后才加载的题目,需要先加载全部内容;未加载的内容无法从 DOM 读取。
  • 图片以链接导出,不会自动打包图片文件。保存网页中的相对图片地址按原始网页地址解析,离线时这些地址可能不可访问。
  • 提供的样本为“安全领导力-1”,有 120 题,单选、多选、判断各 40 题;全部参考答案存在,其中 112 题答案被隐藏。样本的 120 处解析文本均为空,导出时也为空。
  • 同一次页面运行中,相同练习内容只自动下载一次;重新刷新或手动点击导出仍可下载。

开发和验证

question-bank-core.js 是 DOM 提取与文件导出核心;practice-exporter.js 负责练习页面识别、加载等待、状态面板和自动下载。发布用油猴脚本已构建,可直接安装。

修改源文件后运行:

npm run build

浏览器验证依赖 Playwright 和本机 Chrome,可执行:

npm install
npm test

测试使用合成题目模拟隐藏答案、错误选项、延迟加载、页面切换、缺题、缺答案和下载,且不会连接谊安学服务器。若本地存在 网页样本/考试答案/谊安学.html,还会核对该样本的 120 道题。

原始压缩包、解压网页和实际题库文件已在 .gitignore 中排除,不会随源代码提交。

远程仓库:ssh://git@192.168.10.31:2222/qishizhe/yianxue-shauti.git。

S
Description
中文:谊安学学习辅助脚本,提供课程、题库与练习工具;EN: Learning userscript for Yianxue courses, question banks and practice.
Readme 3 MiB
Languages
JavaScript 98.7%
HTML 1.3%