起步

最近直播答题火热,群里也经常看到比拼微信小程序《头脑王者》。我比较笨,凭纯答题只到了黑金段位。鉴于本周刚刚点亮了收集抓包的技能,于是想试着通过这个来做一个辅助工具。

抓包

我使用的是 fiddler 抓的,网上关于抓app包的教程很多,可自行查阅,这里不赘述。根据抓包发现出题目的接口:

数据格式是一个 json 字符串,如下所示:

  
  1. {"data":{"quiz":"我国的根本大法指的是?","options":["刑事诉讼法","刑法","婚姻法","宪法"],"num":3,"school":"理科","type":"地理","typeID":9,"contributor":"孙悦悦","partner":0,"endTime":1516447448,"curTime":1516447433,"myBuff":{}},"errcode":0}

解决了题目的获取,接下来就是想办法把题目传递到其他程序,利用 FiddlerScript 就可以了:

点击 FiddlerScript 然后选择 OnbeforeResponse 进入该函数内,写下如下代码:

这部分就是将题目发到自己写的一个程序上:

  
  1. if (oSession.fullUrl.Contains("question.hortor.net/question/bat/findQuiz"))

  2. {

  3.    //把内容通过ajax http发送其它地方

  4.    var _xhr = new ActiveXObject('Microsoft.XMLHTTP');

  5.    var url = 'http://localhost:8000/api/brain_king/';

  6.    //不需要返回值所以设置为空回调

  7.    _xhr.onreadystatechange = function() {}

  8.    _xhr.open('POST', url, true);

  9.    _xhr.setRequestHeader("Content-Type", "application/json");

  10.    _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

  11.    _xhr.send(oSession.GetResponseBodyAsString());

  12. }

解答问题

得到问题后如何答题就见仁见智了,最简单的一个方式就是把问题提交到百度上,进行词频统计,大多数情况下词频多的为正确答案,于是我及其简单的做了处理:

  
  1. class BrainKing(generics.GenericAPIView):

  2.    def post(self, request):

  3.        question_dict = request.data.get("data")

  4.        question_text = question_dict["quiz"]

  5.        choices = question_dict["options"]

  6.        content = requests.get('http://www.baidu.com/s?wd=' + question_text, timeout=2).text

  7.        for choice in choices:

  8.            print(choice + " : " + content.count(choice))

  9.        return Response("")

你以为我会用很高级的语义分析等自然语言处理吗?其实我也有试,但效果还不是很好,准确率不如词频统计,等优化后再说吧。

成果展示

用这个上分确实很快,不过缺点也是比较明显的,带一些干扰词就不行了,但总体上王者还是比较轻松的:

后期如果再加上 adb 命令,就可以实现自动化答题了。

我有个朋友真的靠纯答题上的王者,令人敬佩。最后提醒一下,游戏而已,不要为了攀比伤了和气。

赞赏作者


本文作者


weapon

Python中文社区专栏作者。不会写程序的浴室麦霸不是好的神经科医生

点击阅读原文,加入CodingGo编程社区

微信小程序头脑王者辅助神器相关推荐

  1. 微信小程序头脑王者脚本

    前一段答题特别火的时候写了一个微信头脑王者的小脚本来辅助答题,原理是将问题百度,然后看选项在搜索结果中出现的频率判断正确答案,准确率虽然不能达到百分之百,但是最起码能提高不少答题正确率. 首先导入需要 ...

  2. 微信小程序:王者荣耀改名神器

    这是一款王者改名小程序 支持重复名改名 支持空白名改名 另外也支持特殊符合随机生成改名等等 该款小程序引流裂变的效果非常的好 支持流量主收益如激励视频获取改名次数等等 另外该小程序还有更多,支持推荐其 ...

  3. 微信小程序:宝宝起名神器微信小程序

    2022年马上到了,还不知道怎么给虎宝宝取名字嚒 那么这款小程序源码就可以帮到你了 这款小程序支持输入姓氏自动起名,不满意还可以点击换一换来找到满意的 支持起两个字或者三个字的名字 另外小编也给该款小 ...

  4. 微信小程序:王者战力查询改名工具箱小程序源码

    今天分享一款战力查询小程序源码, 微信端QQ苹果安卓四端端战力查询 带改名工具,空白名.重复名.符号名改名小程序源码 带流量主广告位,带激励视频广告位,界面精美,无需服务器后台. 至于更多,就大家自行 ...

  5. 微信小程序:装B神器P图修改微信流量主小程序源码下载趣味恶搞图制作免服务器域名

    今天给大家带来的这一款小程序是装逼生成,趣味制图工具 该小程序免服务器和域名,低成本运营 内容丰富,搭建简单,而且更逼真哟 内涵N种模板制作,另外还可以设置推荐小程序更好的互引 简单说几个模板吧 红包 ...

  6. 微信小程序:王者荣耀出装与铭文推荐助手

    这是一款王者荣耀助手的一款小程序源码 该小程序主要功能就是提供各个英雄出装和铭文查询 功能虽然单调但是对于玩王者的朋友来说还是挺实用的! 目前该小程序源码已支持多种流量主模式 小程序源码下载地址: 微 ...

  7. 微信小程序:王者荣耀战力查询微信小程序源码下载支持安卓苹果微信QQ等多区查询

    这是一款战力查询的微信小程序源码 源码内自带了接口 目前支持了微信,QQ,苹果,安卓全区都可以查询 支持流量主收益,而且搭建安装简单 使用微信开发者工具打开源码然后设置一下合法域名上传审核即可 该小程 ...

  8. 微信小程序:王者荣耀改重复名,空白名最低战力查询助手

    这是一款由重复名,空白名.和各区战力查询组合的一款微信小程序源码! 重复名支持一键生成几十个,就再也不怕都被别人用过了! 空白名支持多种空白名,王者荣耀空白名,贵族居中空白名,QQ微信专属空白名 战力 ...

  9. 微信小程序跳一跳辅助之路(ios直接改分版)

    获取到session_id 然后去下边的网站 直接改分 苹果手机教程   (注意:Mac和ios设备 必须在同一个局域网下 也就是 链接的是相同的wifi) 大致原理就是抓包 然后改微信小程序向微信后 ...

最新文章

  1. c语言使能,什么是锁存使能输入
  2. vue-video-player有画面没声音_电视盒子没声音?问题都在这了!
  3. 关于建立完整商业应用软件框架库的设想
  4. jQuery validate 表单验证,涵盖各种类型数据
  5. 02_pandas获取数据(指定列获取、[]方式获取、loc函数,at函数, iloc函数 iat函数)
  6. 计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回
  7. python语言编写一个生成九宫格图片的代码_python实现图片九宫格分割
  8. java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 论保留地址与私有地址
  10. L73.linux命令每日一练 -- 第十章 Linux网络管理命令 -- dig和host
  11. 2022年 6 款最佳免费电子邮件营销软件
  12. 批量导出导入docker镜像
  13. 14亿人参与,共建台湾省实景地图!
  14. Magicodes.IE 2.7.0发布
  15. 光标的认识(知识整理)
  16. 几何学在计算机中的应用,探析坐标几何的应用意义及其在计算机中的实现
  17. Selenium+iframe准确定位元素
  18. 达达php源码,达达房卡麻将二次开发VIP系统学习课程
  19. 畅写Office云端SDK :“硬核”赋予企业应用在线文档I在线协作编辑I在线预览I在线格式转换服务
  20. mysql 列转行union all_SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理]

热门文章

  1. AI:为你写诗,为你做不可能的事
  2. 《勋伯格和声学》读书笔记(七):结束与终止式,伪终止式,以及终止式中的六四和弦
  3. Linux: Swap与swappiness
  4. LCD背光控制 brightness control
  5. AIoT赋能 科大讯飞携手旭辉共筑智慧地产
  6. C#完成简单的生日祝福
  7. 网页设计中颜色的搭配
  8. python可视化双向箭头_python学习之路--可视化利器matplotlib(下)
  9. 【ECS最佳实践】性能测试及ECS+RDS构建云服务器主动防御系统部署开源蜜罐系统Hfish
  10. 区块链—未来的路还很长