相关阅读
免责声明
以下教程仅用于个人研究、学习代码目的,为各位同学节省宝贵的学习时间,请勿用于商业用途。
Ps: 本项目不提供任何题库资源,有相关测试需求者请按照文档自行解决。
本项目仅供学习参考使用,请在下载部署后24小时内删除。
由于使用本项目不当所造成的挂科或不良学习记录作者一概不负责。
杂谈
前一阵子在B站上看到热心网友分享了一个体验非常良好的工具,非常符合目前热心网友们上网课的习惯,课程进度由脚本来完成,答题可以在侧面显示,如果有题库可以调用题库,没有题库也可以自己来完成!
但是很多热心网友不太会用Pycharm,因此,我们帮热心网友进行了打包
打包版使用
2023年5月20日
2022年12月20日
使用教程
打包版下载完成后,您可以直接运行右键以管理员身份运行超星答题姬.exe
先输入手机号,然后输入密码(输入密码时不会显示********,确认输入完成后回车即可)
![图片[1]-超星学习通 | 超酷的学习方式 看课+答题姬 | 可自行配置题库-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/12/20221220020153256.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
之后可以选择课程,填序号即可,譬如我们这里选择0即可
![图片[2]-超星学习通 | 超酷的学习方式 看课+答题姬 | 可自行配置题库-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/12/20221220020320664.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
如果课程有题目会在左侧显示,大家也可以自行去搜索下对应的题目
配置文件
当然聪明的你一定发现了这里还有config.yml文件,该文件通常用于细节配置
# 基本配置
# 是否开启多会话模式
multiSession: true
# 是否开启姓名手机号打码
maskAcc: true
# TUI 最大显示高度
tUIMaxHeight: 25
# 会话存档路径
sessionPath: "session/"
# 日志文件路径
logPath: "logs/"
# --------------------
# 任务执行器配置
# 视频
video:
# 使能
enable: true
# 完成等待时间
wait: 15
# 倍速
speed: 1.0
# 视频播放汇报率 (没事别改)
report_rate: 58
# 试题
exam:
# 使能
enable: true
# 完成等待时间
wait: 15
# TODO: 是否匹配失败自动保存
# fail_save: true
# 文档
document:
# 使能
enable: true
# 完成等待时间
wait: 15
# --------------------
# 搜索器选择 (可同时使用多个搜索器, 以 yaml 语法中 list 格式添加, `type`字段决定搜索器类型)
# 可用的搜索器有: restApiSearcher jsonFileSearcher sqliteSearcher enncySearcher
searchers:
# 本地 JSON 数据库搜索器 (key为题, value为答案)
#- type: jsonFileSearcher
# file_path: "questions.json" # 数据库文件路径
# REST API 在线搜题
# - type: restApiSearcher
# url: "http://127.0.0.1:88/v1/cx" # API url
# method: "POST" # 请求方式
# req_field: "question" # 请求参数
# headers: # 自定义请求头(可选) 使用 yaml 的 k-v 语法填写
# # eg: Authorization: 'xxx'
# ext_params: # 自定义扩展请求参数(可选) 使用 yaml 的 k-v 语法填写
# # eg: Token: 'xxx'
# rsp_field: "$.data" # 返回参数 使用 JSONPath 语法进行查询
# 本地 sqlite 数据库搜索器
# - type: sqliteSearcher
# file_path: "questions.db" # 数据库文件路径
# table: "question" # 表名
# req_field: "question" # 请求字段
# rsp_field: "answer" # 返回字段
# Enncy 题库搜索器,使用前请注册 https://tk.enncy.cn/
# - type: enncySearcher
# token: "xxx" # Enncy 题库 Token
# 网课小工具(Go题)题库搜索器,使用前请获取Token https://cx.icodef.com/1-UserGuide/1-6-gettoken.html#%E8%8E%B7%E5%8F%96token
# - type: cxSearcher
# token: "xxx" # 网课小工具(Go题)题库 Token
譬如可以自行调整播放速度,默认是1.0倍
speed: 1.0 # 播放速度
同时,你也可以选择完成任务后等待时间,譬如完成后等待15秒
wait: 15 # 完成等待时间
如果你自己有题库,或者会搭建题库服务器,可以在搭建完成后,启用自动答题的功能
exam:
enable: true # 是否执行任务
以上配置默认是使用的网课小工具的题库
# 网课小工具(Go题)题库搜索器,使用前请获取Token https://cx.icodef.com/1-UserGuide/1-6-gettoken.html#%E8%8E%B7%E5%8F%96token
- type: cxSearcher
token: "" # 网课小工具(Go题)题库 Token
你会发现,你如果需要使用哪个,就将参数前的#
去掉即可,#
代表注释的意思
源码使用
源码使用一般非为以下几个步骤,首先需要安装poetry管理项目
pip install poetry
然后,使用poetry安装全部依赖
poetry install
安装完成后,运行项目即可
poetry run python main.py
题库创建及维护
自建题库
这里很多网友会比较感兴趣,如何去自建一个题库,这里你可以创建一个questions.json的文件
然后,用json的格式显示,问题及答案
{
"国字的演变的过程告诉我们,国防就是国家的防务,国防与()是密不可分的": "国家"
}
如果有多个就用逗号隔开即可,我们这里举个例子,比如有2个题,就是下面这样
{
"猪猪侠是什么": "学习网络安全的代号",
"FancyPig's blog的网址是什么": "https://www.iculture.cc"
}
然后你就可以照猫画虎,去整理自己的json题库了,其实在整理的过程中,你也会对题目进行学习,这是一个很不错的方式,在整理完成后,我们就让机器自动匹配上面的题库为我们回答问题了!
自建接口
您也可以尝试使用下面的项目自己建一个接口
https://github.com/SocialSisterYi/xuexiaoyi-to-xuexitong-tampermonkey-proxy
利用第三方API
您也可以从网上找一些第三方的题库,譬如之前我看网上分享了一些免费的接口
answer-search-bank
请使用POST方法
https://api.answer.uu988.xyz:4545/answer/search
请求内容
{
question: '新时期要注重选拔任用()、()、()、()、()的干部,对政治不合格的干部实行“一票否决”,已经在领导岗位的坚决调整。';
}
响应内容
{
errno: 0,
message: "search success",
data: {
question: "新时期要注重选拔任用()、()、()、()、()的干部,对政治不合格的干部实行“一票否决”,已经在领导岗位的坚决调整。",
answers: [
"A",
"B",
"C",
"D",
"E"
],
from: "https://www.yisouti.com/search"
}
}
hive-net.cn
可以支持超星,智慧树,知到,Welearn,四史,马原,毛概,大学mooc多个平台的
这里是直接GET请求
https://www.hive-net.cn/backend/wangke/search?token=free&question=我国的国体是
返回结果
{
"code": 0,
"data": {
"total": 1,
"reasonList": [
{
"id": 409583,
"question": "我国的国体是",
"reason": "人民民主专政",
"type": 1,
"options": "A:人民代表大会制度,B:人民民主专政,C:共产党领导的多党合作和政治协商制度,D:民族区域自治制度",
"explanation": "无",
"course": "中国大学MOOC慕课,中国大学MOOC慕课未分类",
"tag": "毛概,多党合作,制度"
}
],
"tokenRemainTimes": 4995,
"tokenExpireTime": "2030-01-01"
}
}
全能搜题
使用GET请求
https://study.jszkk.com/api/open/seek?q=从哪一年开始,我国HIV感染者和艾滋病患者数出现了突飞猛进的增长,并逐年上升?( )
获得题目答案
{
"code": 200,
"msg": "",
"data": {
"type": -1,
"content": "从哪一年开始,我国HIV感染者和艾滋病患者数出现了突飞猛进的增长,并逐年上升?( )",
"answer": "2004",
"created_at": "2021-12-24T08:31:38.000000Z",
"updated_at": "2021-12-24T08:31:38.000000Z"
}
}
但是上面的响应码不一定是code,也不一定是200,所以你可能还需要修改exam.py中的代码
付费题库
在config.yml中也提供了一个付费的题库,原则上这个有悖于消灭一切付费平台的理念😂
不过看评论区有热心网友问,我们也简单说下言溪题库如何对接,这里需要注意的是,你不使用的要用#
注释掉,否则开启多个可能会导致程序无法正常运转。我们先进入言溪题库,将用户凭证复制下来
![图片[3]-超星学习通 | 超酷的学习方式 看课+答题姬 | 可自行配置题库-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2023/05/20230520050213337-1024x315.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
填入下面config.yml文件对应的token中
# Enncy 题库搜索器,使用前请注册 https://tk.enncy.cn/
- type: enncySearcher
token: "填入你复制的内容" # Enncy 题库 Token
然后运行即可,完整的config.yml如下
# 基本配置
# 是否开启多会话模式
multiSession: true
# 是否开启姓名手机号打码
maskAcc: true
# TUI 最大显示高度
tUIMaxHeight: 25
# 会话存档路径
sessionPath: "session/"
# 日志文件路径
logPath: "logs/"
# --------------------
# 任务执行器配置
# 视频
video:
# 使能
enable: true
# 完成等待时间
wait: 15
# 倍速
speed: 1.0
# 视频播放汇报率 (没事别改)
report_rate: 58
# 试题
exam:
# 使能
enable: true
# 完成等待时间
wait: 15
# TODO: 是否匹配失败自动保存
# fail_save: true
# 文档
document:
# 使能
enable: true
# 完成等待时间
wait: 15
# --------------------
# 搜索器选择 (可同时使用多个搜索器, 以 yaml 语法中 list 格式添加, `type`字段决定搜索器类型)
# 可用的搜索器有: restApiSearcher jsonFileSearcher sqliteSearcher enncySearcher
searchers:
# 本地 JSON 数据库搜索器 (key为题, value为答案)
#- type: jsonFileSearcher
# file_path: "questions.json" # 数据库文件路径
# REST API 在线搜题
# - type: restApiSearcher
# url: "http://127.0.0.1:88/v1/cx" # API url
# method: "POST" # 请求方式
# req_field: "question" # 请求参数
# headers: # 自定义请求头(可选) 使用 yaml 的 k-v 语法填写
# # eg: Authorization: 'xxx'
# ext_params: # 自定义扩展请求参数(可选) 使用 yaml 的 k-v 语法填写
# # eg: Token: 'xxx'
# rsp_field: "$.data" # 返回参数 使用 JSONPath 语法进行查询
# 本地 sqlite 数据库搜索器
# - type: sqliteSearcher
# file_path: "questions.db" # 数据库文件路径
# table: "question" # 表名
# req_field: "question" # 请求字段
# rsp_field: "answer" # 返回字段
# Enncy 题库搜索器,使用前请注册 https://tk.enncy.cn/
# - type: enncySearcher
# token: "xxx" # Enncy 题库 Token
# 网课小工具(Go题)题库搜索器,使用前请获取Token https://cx.icodef.com/1-UserGuide/1-6-gettoken.html#%E8%8E%B7%E5%8F%96token
- type: cxSearcher
token: "xxx" # 网课小工具(Go题)题库 Token
源码打包
如果您也想将上面的源码打包exe分享给好友,可以参考下面的教程
- 最新
- 最热
只看作者