超星题目提取器

Created at 4 months ago
Updated at 20 days ago
提取超星章节测验、作业、考试题目,支持章节混淆字体自动解码。
Total Installs
4,877
Today's New
+0
User Rating
5.0 / 5.0 (2)
Current Version
5.1.3
Script Details

一、脚本定位

超星题目提取器用于在浏览器中直接提取超星相关页面中的题目信息,并生成可复制、可预览、可导出的结构化结果。

当前版本重点解决了以下问题:

  • 章节测验页面 font-cxsecret 混淆字体导致的乱码问题
  • 章节测验、作业、考试三类页面提取逻辑不统一的问题
  • 不同页面中 正确答案 / 我的答案 / 解析 字段展示差异较大、提取不稳定的问题
  • 页面存在多层同源 iframe 时,题目位于深层文档中导致提取失败的问题

二、当前支持范围

当前版本已实测支持以下页面类型:

  • 章节测验页面
  • 作业回看页面
  • 考试回看页面

当前版本的支持方式不是只适配单一链接,而是按页面结构和题目特征统一识别。只要页面中的题目内容已经实际渲染到浏览器,并且当前登录态可访问,脚本即可尝试提取。

三、核心能力

1. 章节测验自动解码

章节测验页面常见的题干乱码,本质上不是编码错误,而是超星通过 font-cxsecret 自定义字体对文本做了混淆。

当前版本支持:

  • 自动识别页面中的混淆字体
  • 自动读取字体数据
  • 自动分析字体 cmap
  • 自动识别页面真实使用到的混淆字符
  • 自动建立字符映射并还原题干、选项文本
  • 对相同字体结果做本地缓存,后续同类页面可直接复用

这意味着当前版本不再只依赖手工硬编码映射表,而是具备对新章节测验字体继续自动适配的能力。

2. 多层 iframe 自动提取

超星章节页经常存在多层嵌套 iframe

当前版本支持:

  • 自动遍历同源 iframe
  • 自动进入真实题目所在文档
  • 在多个文档中统一收集题目内容
  • 在提取前先完成混淆字体解码,再进行题目结构化处理

3. 三类页面统一提取

当前版本使用统一入口处理三种页面:

  • 章节测验
  • 作业
  • 考试

提取结果统一输出为结构化文本,便于:

  • 面板预览
  • 剪贴板复制
  • TXT 导出
  • DOCX 导出

4. 答案按页面实际内容提取

答案字段不再强行假设,而是按页面真实展示内容决定是否输出。

当前规则如下:

  • 页面存在 正确答案 时,提取 正确答案
  • 页面存在 我的答案 时,提取 我的答案
  • 页面存在 答案解析 / 解析 时,提取解析
  • 页面未展示对应字段时,不输出空字段,也不伪造结果

因此:

  • 未完成的章节测验通常只输出题目与选项
  • 作业回看页面通常能输出 正确答案
  • 考试回看页面若同时显示 正确答案我的答案,则两者都会输出
  • 若某考试页面只显示作答结果而未下发标准答案,脚本不会伪造 正确答案

四、导出能力

1. TXT 导出

支持将当前提取结果直接导出为 .txt 文件。

导出内容包括:

  • 试卷标题
  • 题型标题
  • 题干
  • 选项
  • 正确答案(若页面存在)
  • 我的答案(若页面存在)
  • 解析(若页面存在)

2. DOCX 导出

支持在浏览器内直接导出 .docx 文件,无需安装 Python 环境。

当前版本的 DOCX 导出特点:

  • 纯前端生成
  • 无需本地依赖
  • 支持直接下载
  • 保留题目层级结构
  • 包含题干、选项、正确答案、我的答案、解析
  • 文档结构可直接用于打印、复习、归档

3. 剪贴板复制

提取完成后支持直接复制文本结果,便于快速粘贴到:

  • Word
  • WPS
  • 记事本
  • Obsidian
  • Notion
  • 其他笔记工具

五、页面管理能力

当前版本内置提取管理面板,用于统一查看和导出结果。

主要功能包括:

  • 当前提取结果预览
  • 提取历史记录保存
  • 记录切换查看
  • 复制文本
  • 导出 TXT
  • 导出 DOCX
  • 删除单条记录
  • 清空历史记录

提取历史会保存到浏览器本地存储中,便于后续再次查看和导出。

六、文本整理与结构优化

为了让导出的结果更适合复习和打印,当前版本做了多项清洗与纠错:

  • 自动清洗题干中的页面噪声文本
  • 自动规范化空白字符与换行
  • 自动合并题型标题与数量信息
  • 自动识别题号与题型
  • 自动整理选项顺序与显示格式
  • 自动去除无意义标记字符
  • 自动区分 正确答案 / 我的答案 / 解析
  • 自动按页面实际内容拼装导出文本