点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

作者简介:杨光,CSDN 博客专家,中科院软件所研发工程师,曾参与网易热、网易花田的研发工作,擅长移动应用开发,平时喜欢弹琴,也经常在博客中写一些技术文章,欢迎一起交流讨论。博客:http://blog.csdn.net/steveyg

声明:本文精选自 CSDN 博客,已获作者授权,内容仅供技术学习交流。

最近一两天,“直播答题”已席卷互联网。王思聪力推《冲顶大会》、周鸿祎的花椒直播上线《百万作战》、今日头条&西瓜视频推出《百万英雄》、映客在线答题《芝士超人》、一直播的《黄金十秒》……仿佛一夕之间,众多互联网直播版《开心辞典》冒了出来。

这些直播答题的题目范围涉及很广,天文地理历史科学娱乐影视音乐诗歌礼仪等,每次活动共 12 道题,也难怪王思聪会挑衅地说“觉得自己很聪明可以来试试”,反正,规则就是 10 秒中之内未答题和答错题都将被淘汰,且无法角逐当期的奖金。

虽然通过邀请好友可以获得复活次数,但是毕竟复活很宝贵,而且每轮只能复活一次,如果复活之后答错会更加可惜。那么怎么样才能够短时间内提升我们的准确率呢?

原理说明

1. 手机进入冲顶大会(或其他答题类 App);

2. 获取屏幕截图:

  • iPhone 可以通过 WDA 进行图片截取,或者通过 AirPlay/QuickTime 投影到电脑上截取,Mac 显示 iPhone 屏幕可参考教程:https://jingyan.baidu.com/article/64d05a02514064de54f73b7c.html

  • Android 可以通过 adb 截图并拉取到本地。

#adb进行截图  adb shell screencap -p /sdcard/autojump.png  adb pull /sdcard/autojump.png .  

3. 通过 OCR 将题目和选项识别出来,此处使用了百度的 OCR,你也可以选用任意你喜欢的 OCR,如 tesseract-ocr 等;

4. 使用三种方法对识别出的问题进行判断。

#直接用浏览器打开问题  def open_wabpage(question):      webbrowser.open('https://baidu.com/s?wd=' + question)  #根据问题搜索结果计算每个选项出现的次数  def words_count(question,answers):      print "根据词频:"      req = requests.get(url='http://www.baidu.com/s', params={'wd': question})      body = req.text      counts = []      for answer in answers:          num = body.count(answer)          counts.append(num)          print answer + " ---> " + str(num)      return counts;  #计算问题+每个选项搜索的结果数  def search_count(question,answers):      print "根据结果数量:"      counts = []      for answer in answers:          req = requests.get(url='http://www.baidu.com/s', params={'wd': question +"%20"+answer})          body = req.text          start = body.find(u'百度为您找到相关结果约') + 11          body = body[start:]          end = body.find(u"个")          num = body[:end]          num = num.replace(',', '')          counts.append(num)          print answer + " ---> " + str(num)      return counts 

第一种方式是最直接的,但是打开浏览器比较耗时,而且不方便,所以将它作为优先级最低的可选操作。后两种方式能够较为准确的得出问题和每个选项之间的关联关系,综合他们的结果进行选择。

使用教程

1. 下载代码并安装 Python 2.7 环境,代码地址见文末;

2. 安装百度 ORC 库;

pip install baidu-aip

3. 在百度云(https://cloud.baidu.com/product/ocr.html)中创建一个项目,获取相应的 App ID、API Key 以及 secret_key,在 config.py 中进行替换;

4. 在 img_utils 中选择你喜欢的获取图片的方式,并且调整截图区域;

5. 在终端中运行。

python main.py

搜索相应的问题吧!

运行截图

更新

2018.01.11 冲顶大会增加了 API 直接抓题功能,几乎无需配置即可分析答案,详情见文末 GitHub。

辅助工具只能够提升准确率,对于一些很坑很怪的问题可能依然会存在一定问题,后面会不断对判断策略进行优化,也欢迎大家提出一些更优的策略。

代码地址:https://github.com/steveyg/AnswerHelper

————— 推荐阅读 —————

点击图片即可阅读

程序员告诉你如何用技术手段玩转冲顶大会相关推荐

  1. 阿里资深程序员告诉你如何用Python提升未来竞争力

    今年很多人在问一个问题:到底什么才是抗风险能力? 稳定的工作?存款?理财? 有人预测:"到2030年,今天一半的工作岗位都将消失." 关于哪些工作最先消失,李开复提出过" ...

  2. 怎么用python制作简单的程序-神级程序员教你如何用python制作一个牛逼的外挂!...

    玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?(当然用外挂不是那么道义哈,呵呵),那我们就来看一下如何用python来制作一个外挂.... 我打开了4399小游 ...

  3. 骨灰级程序员告诉你,怎样学习编程,才能快速从0基础,变成编程大师

    本文章向大家介绍怎样学习编程,才能快速从0基础,变成编程大师,主要包括骨灰级程序员告诉你,怎样学习编程,才能快速从0基础,变成编程大师使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价 ...

  4. c++语言表白超炫图形_让C/C++程序员告诉你什么叫浪漫,表白黑科技,炫酷多彩求爱利器...

    原标题:让C/C++程序员告诉你什么叫浪漫,表白黑科技,炫酷多彩求爱利器 前言 缘是美丽的邂逅,爱是心跳的感觉,情是心灵的交会,恋是甜蜜的思念,走在爱与被爱的边缘,你见或者不见,爱你的心始终不改变!C ...

  5. 别被忽悠了,程序员告诉你个人所得税年度汇算那些事

    最近个人所得税年度汇算火了,有人高兴有人发愁,到底该该不该补缴税款?卸载APP可以吗?让我这个程序员告诉你,程序员有1说1. 无需办理年度汇算的纳税人 经国务院批准,依据<财政部 税务总局关于个 ...

  6. python培训机构哪家靠谱_好程序员告诉你Python机构哪家比较靠谱

    原标题:好程序员告诉你Python机构哪家比较靠谱 诚如大家所知,Python语言的就业方向多样,大体上可以划分为:Linux运维.Python自动化测试.Python全栈工程师.数据分析.人工智能等 ...

  7. 历经外企、创业公司、大厂的程序员告诉你:第一份工作有多重要!

    作者 | 码匠笔记 责编 | 郭芮 笔者毕业5年,先后经历了创业公司,外企和国内一线互联网公司.本文用经历告诉你,第一份工作对于你的重要性和怎么选择第一份工作. 外企 笔者第一份工作去了外企,也正是因 ...

  8. 程序员上班摸鱼,这么玩才高端!

    这届打工人最喜欢的两个词 除了下班,就是摸鱼 鲁迅曾说过:要想成为一名合格的打工人 摸鱼是必备技能之一 △ 图源网络,如侵删 适(放)当(空)摸(自)鱼(己) 是对工作的调剂 摸鱼摸得好,工作没烦恼 ...

  9. 程序员上班摸鱼,这么玩才高端

    说到上班摸鱼,用手机刷剧.打游戏这些方式都太低端了,不仅低着头对颈椎不好,还容易被老板抓到. 那么,今天就来给大家分享一下高端程序员应该掌握的摸鱼技巧. 1.Ratel 万万没想到,有一天我居然会在命 ...

最新文章

  1. MIUI应用权限设置
  2. 献给新手的深度学习综述
  3. 这应该是脑结构、脑工作原理最详细的图解了
  4. 深度学习篇| keras入门(一)
  5. Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)
  6. 代理服务器-贪心算法
  7. OpenCV 常用网址和基础知识
  8. java解指派问题,运用Excel规划求解解决指派问题
  9. 什么是博客,它与网站有何不同? (说明)
  10. java 打印 xps_使用Java 将PPT转换为PDF、XPS等格式
  11. PyQt5 基本语法(一):基类控件
  12. Kanade Loves Maze Designing
  13. 怎么查EI论文的检索号
  14. Acrel-EMS企业微电网能效管理平台在某食品加工厂35kV变电站案例分享-安科瑞 周莉娜
  15. Kafka的概念与命令操作
  16. zto中通电子面单cpcl打印指令实例
  17. 嵌入式Linux:安装Ubuntu系统环境
  18. 谷歌开发者工具preserve log
  19. DDC EDID 介绍
  20. 初等数论 - 定理证明

热门文章

  1. Tensorflow Estimator之DNNClassifier
  2. 台式临床化学分析仪行业调研报告 - 市场现状分析与发展前景预测
  3. 宠物兽医体层摄影术行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  4. 用C语言编写约瑟夫环程序,约瑟夫环C语言,请高手检查我的程序
  5. java servlet spring_带着新人简单看看servlet到springmvc
  6. 那个名为 XROS 的操作系统,倒在了元宇宙浪潮中!
  7. 连续被巨头青睐,SpaceX 部分新项目原型系 Rust 构建
  8. 这个Wi-Fi安全漏洞偷跑了24年,可能危及全球所有设备!
  9. 吐槽过后,我为什么要夸夸 Go 语言
  10. “乘风破浪”的中国SaaS :风浪越大,机会越大?