最近很多人玩答题类App,例如冲顶大会、芝士超人、百万英雄系列,答对12道题与其他玩家平分所有奖金,虽然奖金没有刚开始的时候多了,但偶尔还是能有个饭钱的。一方面是玩的人多了,另一方面是因为科技手段太多,有基于语音识别的、图像识别的,还有抓接口的,甚至有直播答题的,它们的各自优缺点请大家自己尝试,我也不说哪个工具了,在此只说自己制作的一款小工具,它首先用OCR识别手机的截图,然后把识别到的问题交给百度,返回显示搜索结果。

准备工作

基本环境:macOS 10.12.5、 python 2.7、Xcode 8.33、PyCharm

安装mac下的tesseract,并安装python下的扩展,具体步骤参照我的另一篇文章,mac+python+tesseract识别中文。

下载WebDriverAgent,并安装python下的扩展,具体步骤参照我的另一篇文章,mac +python+facebook-wda远程控制手机

控制手机截图

首先用xcode运行WebDriverAgent项目,若提示连接失败可以尝试重新插下数据线,直到提示:

image.png

假若需要转换端口的,则转换端口:

image.png

python代码获取图片:

import wda

c = wda.Client('http://localhost:8100')

c.screenshot('/Users/gcf/Desktop/shotImg/%dscreen.png' % (tag))

OCR识别图像

这里的OCR,各位也可以用三方的,列如百度、腾讯,它们的准确度高,速度快。

import pytesseract

from PIL import Image

# open image

image = Image.open('test.png')

code = pytesseract.image_to_string(image, lang='chi_sim')

print(code)

百度搜索

首先调用搜索,然后用BeautifulSoup获取返回的结果列表,最后用正则处理结果。

#coding=utf-8

import urllib2

import urllib

from bs4 import BeautifulSoup

import re

def search(ques,keywords):

length =5

request = urllib2.Request(

'http://www.baidu.com/s?wd=' + urllib.quote((ques).strip().decode(sys.stdin.encoding).encode('gbk')))

response = urllib2.urlopen(request)

soup = BeautifulSoup(response.read(), 'html5lib')

# rr1 =soup.select('div.result h3.t > a') #标题

data = soup.select('div.c-abstract')

for index in range(len(data)):

if index

item = data[index]

# 处理

data1 = re.sub('', '\033[32;0m', str(item))

data2 = re.sub('', '\033[0m', data1)

# 保留内容

data3 = re.sub(u'', '', data2)

for key in keywords:

data3 = re.sub(key, '\033[0;35m'+key+'\033[0m', data3)

print data3 + '\n\n'

else:

break

效果展示

网络顺畅的话,从识别到返回结果,整个过程2秒左右。其实还有很多地方值得优化的,由于其它原因,只能到此了。

Untitled.gif

项目地址

不要沉迷与答题,偶尔玩玩即可

python设计答题软件_用python制作《冲顶大会》答题工具相关推荐

  1. python实现数据恢复软件_恢复python

    centos 7 python2.7.5升级到3.5.2 centos 7 python2.7.5升级到3.5.2 下载python3.5.2 wget https://www.python.org/ ...

  2. python 爬取软件_用Python爬取了三大相亲软件评论区,结果...

    小三:怎么了小二?一副愁眉苦脸的样子. 小二:唉!这不是快过年了吗,家里又催相亲了 ... 小三:现在不是流行网恋吗,你可以试试相亲软件呀. 小二:这玩意靠谱吗? 小三:我也没用过,你自己看看软件评论 ...

  3. python 工资管理软件_基于[Python]的员工管理系统

    基于[Python]的员工管理系统 -------------------------------- 简介 使用python语言来完成一个员工管理系统,员工信息包含:员工工号,姓名, 年龄,性别,职位 ...

  4. python设计石头剪刀布游戏_用python制作剪刀石头布游戏

    1 由于需要电脑随机出拳,所以我们这里导入随机数模块,具体代码: import random 然后用input 代码和用户交互,让用户选择出 剪刀 石头或者布 player = input(" ...

  5. python图片水印软件_基于Python制作的控制鼠标删除图片水印的小工具

    在做视频或者图片处理的时候,我们经常会遇到存在水印的情况,或者我们需要去除图片的某一个部分, 这时候我们就需要想办法去除不需要的这一部分.下面这个工具能够控制鼠标将图片上的任意部分改变颜色, 从而达到 ...

  6. python 表格处理软件_基于Python的Excel处理工具

    1项目描述# #的辛勤工作,以减少处理Excel在我姐姐的工作中,我写了一些代码处理xlsx在python中独立完成一些任务,如判断未来的列表,晚了,每天和早期离开根据考勤记录,并实现两个细胞的比较复 ...

  7. python图片水印软件_使用Python编写批量添加图片水印程序:一、代码方案

    一.为什么要为图片添加水印 在互联网写文章最头疼的一件事情就是发表的文章容易被抄袭,各种抄袭的手段真的是层出不穷.无奈,只能在不影响阅读体验的情况下不断地提高反抄袭的难度.虽然防不住,但是为文章中的图 ...

  8. 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...

    一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...

  9. python识别文字软件_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

最新文章

  1. C++测试申请最大内存空间
  2. 【读书笔记】程序员的自我修养总结(七)
  3. Py之pixellib:pixellib库的简介、安装、经典案例之详细攻略
  4. 《x86汇编语言:从实模式到保护模式》读书笔记之后记
  5. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  6. 基于移动端Reactive Native轮播组件的应用与开发详解
  7. qt中的纯c语言中项目,2使用QT新建c工程
  8. 长期对着电脑是对身体很哟影响的
  9. python 3.6.5编译安装_Linux系统安装Python3.6.5
  10. java语言_java语言学习
  11. Spring BPP中优雅的创建动态代理Bean 1
  12. 网页特效代码大全网址
  13. 【Win 10应用开发】提供建议列表的输入控件(AutoSuggestBox)
  14. 联发科mtk手机处理器怎么样_2019年全球手机处理器市场份额新报告高通无悬念第一,联发科第二,三星第三...
  15. 搭建风控系统道路上踩过的坑合集
  16. Python|猜球博弈
  17. EPICS教程5 -- areaDetector模块安装
  18. RANSAC与其改进
  19. 【拼多多】新手卖家的启蒙贴 ,如何快乐的做图,快乐的开店
  20. 南邮-NCTF2022 WRITE UP

热门文章

  1. MySQL中+(加号)
  2. 微信小程序第二战(样式库的引入使用数据渲染插入和玻璃面板设计)
  3. 月亮可更换之网易邮箱注册及登录测试用例
  4. 轻轻松松搞懂神经网络
  5. 用html做一个漂亮的网站【茶文化12页】期末网页制作 HTML+CSS网页设计实例 企业文化网站制作
  6. c语言坐标正算实验报告,C语言程序设计实验报告范文
  7. QQ游戏: 四国军棋和中国象棋客户端失败
  8. RS232/RS422/RS485间的区别
  9. TCP/IP Illustrated Episode 2
  10. 【打印技术02】打印机状态监控