autoAnswer icon indicating copy to clipboard operation
autoAnswer copied to clipboard

客户端答题工具,集成3个答题助手,包含AI自动答题,手动答题,adb控制多台手机等

autoAnswer

和简单搜索、汪仔助手、UC答题助手一起答题。支持AI自动答题,支持个性化题。

注:近期各个答题助手都升级了安全策略,如有问题请随时反馈 ~ ~**

AI自动答题的详细流程说明请打开(见图)

AI自动答题的结果预览(见图)

答题界面见预览:

Before

1. 确保正常的python3环境,并安装pytesseract

pip install pytesseract

2. 安装 ADB,确保执行adb device能出现您的设备

下载地址:https://adb.clockworkmod.com/ ,并配置环境变量

3. 安装 谷歌 Tesseract

Windows下链接: 推荐使用安装版,在安装时选择增加中文简体语言包

安装版:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe

其他系统: https://github.com/tesseract-ocr/tesseract/wiki

Start

完成所有 Before

PS:注意根据需要,修改screen.conf中的分辨率,默认1080P(包括全面屏1080P)。

  • 1、连接手机adb(可选,如果需要AI答题)

  • 2、开启Py的Sever做静态托管和反向代理。

    py server.py

  • 3、点击All in One Page进入答题页面

    1) 可点击切换 AI自动答题

    2) 可选择自己答题

  • 4、点击AI Analysis进入助手分析页面

Config

在src.config目录下修改对应参数

circulate:

try_times - 考虑到OCR错误的情况,匹配尝试最优选的前几个答案

ocr_threshold - OCR识别与AI返回的匹配数/总字符数>ocr_threshold时,认为是正确答

wait_time - 百度返回题目,到点击屏幕的时间,根据网络情况配置`

screen:

choices_region - 选项OCR区域、|换行长度`

star - 点击答案的纵轴开始点

gap - 每个选项的间距

weight:

对AI助手答案 信任的权重值

ocr:

tesseract安装路径和语言包路径

Update Log

20180213: 升级百度websocket代理,去除hosts映射的校验修改逻辑

20180211: 修复因百度、UC、搜狗升级安全策略导致api失效的问题

20180209: 初始化GUI界面

20180206: 用Echarts统计各个答题助手的表现

20180131: 用sqlit3保存AI答题的结果

20180127: http接口改为标准JSON-String通讯。删除基本上没用的单独AI助手

20180126: 增加控制器层,抽离逻辑代码。添加adb未连接的提示,添加截图分析选项的功能

20180125: 重构Python代码,为后续功能挖坑(预留能力)

20180122: sogou的api更新,样式更新

20180120: python服务器支持反向代理,去除nginx

Roadmap

  • ~~1、完成AI自动答题的逻辑,将缓存的答案用mapReduce的形式转为最佳答案。~~ 20180129 完成 √

  • ~~2、用sqlite3存储结果,用图表展示各个AI助手的表现。~~ 20180206 完成 √

  • 3、用爬虫直接抓取AI答题的结果

  • 4、添加百度搜索的结果用放在界面旁展示

Thanks

截图和OCR代码参考https://github.com/Skyexu/TopSup

Q&A

  • 为什么要做这个?

西瓜视频目前不支持分屏应用,得用两个手机,一个看答案一个答题。这个项目可以让这些助手在电脑上运行。

  • 为什么要采用hack客户端的方式?

直接调用Api获取数据要先分析整个鉴权认证过程(模拟cookies,sessionId,和一些不知道的XXId)。客户端模拟的方式去开发,能够快速实现需求:抓到需要的数据。

后续会采用爬虫方式,直接抓取API结果。

  • AI如何自动化处理西瓜视频的个性化题?

目前的做法是收到答案后,子进程并行截图OCR识别答案,同时主进程不断接收答案。在OCR完成后,计算出优选答案,点击不同的设备。