分享一次易班自动答题思路

分享一次易班自动答题思路

五月 28, 2020 阅读 289 字数 1900 喜欢 1

临近期末,易班上囤了很多题没答,手动刷题的话预计是要弄上完整的两天才能答完,我们学校的答题要求是保证正确率为60%,每个科目由老师定题目数量,因为不会写查题脚本,所以这里采用的方法是先将数量刷上去后手工答一些将正确率提高即可。易班虽然是全国大学生都在用的,但是答题的模块不一定相同,这里只分享思路,其他的情况就得自己随机应变了


正文:因为易班是个手机app,按照正常的脚本思路应该是使用Scrcpy这样的群控软件将答题界面投屏到桌面上,通过Python OCR获取题目,然后答题接口查题,返回答案,匹配选择。而易班实质上是浏览器套壳,所以可以省掉上述的投屏操作,如果能抓到答题链接和浏览器UA就能在桌面操作了。至于写脚本本人能力不足,不过换了个方法实现了答题,下面来看看吧


这里我使用了Fiddler抓到了易班答题的链接,因为不是讲抓包教程,这里就不赘述了,请求的链接如下,链接里直接就包含verify_request,就不用再抓Cookie登陆账号了,方便了不少


http://qm.linyisong.top/yiban-web/stu/homePage.jhtml?verify_request=0c2b33e611bd09e904044a68aca469940f0b0cf198f4d46c7dfedc99549ab9a7a8f54f250589ece9c9154f058b4254a4c4ccb7bff9c4b7da694e82c9f103d4a2c5e704ac3213618ec14989df9f0fd64a17b63034f274c1c1b2f8388b92e8a9f3b7804cf5be9aaa8e067d4d7555ca0377c1638699f2a008e786461e50f0388fdf0fee65d0105af52e3d589fe4&yb_uid=这里被我删了,是我的uid


浏览器打开后如下

7058ab36-b50b-4d9c-abd8-a16c7996aeb0.png

嗯,看来自定义下UA就行了,UA我是通过在易班内发布一个UA分析打开后获得。在Chrome控制台里找到Network Conditions在User Agent里选择Custom粘贴下面的UA即可


Mozilla/5.0 (Linux; Android 8.1.0; 16th Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36 yiban_android


粘贴好后刷新下显示了正常的答题界面


20200528175448.png


到这里基本就差不多了,我就用按键类脚本写了找只有正确错误选项的题目,然后全选正确的,这样正确率维持在了50%左右,效果如下,为我省下了不少时间


Untitled (2).gif


当然了,这个办法比较笨拙,我暂时也解决不了,如果有会写查题脚本的朋友欢迎一起交流



29/5/2020更新,找了个接口在朋友蛋蛋的帮助下做出查题功能了,大概6S一道,挂了一晚上就好了

发表评论

电子邮件地址不会被公开。必填项已用 *标注