改进版在此:http://blog.csdn.net/lsjweiyi/article/details/79203722
事先说明:这只是帮助你百度题目,并没有直接给你答案什么的,作用应该是能帮助你找到3 5 到题的答案而已,剩下一些题目还得靠自己,谈不上作弊。其次,这个脚本依赖网络比较多,毕竟要调用百度的api。当然还有浏览器的启动速度,毕竟答题就那么10秒。

然而,此时的这些答题游戏的奖金已经只有几块钱了,当初让我有想法的时候还是几十几百的,现在这样做,价值不高了。

思路:利用软件对手机截屏 ,并实时保存到电脑上,软件会自动创建一个文件夹(Pictures,原来是不存在的,当然这里你需要修改图片存储的路径),然后脚本检测到这个文件夹创建成功了,就表示截屏了,下来就进行识别。识别利用百度的在线ocr(不是卖广告,说实在的,尽管没开源,好歹给我这种业余爱好者一个解决方案,关键每天有免费次数,识别速度也快,还有更好的,请不吝赐教),然后把识别的文字百度并在浏览器打开。

关于百度的AI平台:ocr地址:http://ai.baidu.com/tech/ocr/general。具体怎么用自己看看文档吧(说的一般吧),脚本里需要一些key,我就提一下怎么获得这里的key,在上面的网址找到登录,然后找到图片里的位置:
然后创建应用,然后摸索吧,就会有那些key了。

关于手机连接电脑的软件我就随便找了个叫totalControl的,好不好我不知道,我就随便找的,反正目的就是能把手机实时截屏并上传,手机屏幕分辨率适用1920*1080,可以换别的软件,不过不要忘了根据实际修改相关的地方。

贴代码,Python版本2.7.13,有一些库需要安装,自己去安装吧,win32的库,地址:http://download.csdn.net/download/xgin1/9392606

# _*_ coding:UTF-8 _*_
import win32con
import ctypes
import ctypes.wintypes
import threading
import time
import os
from PIL import Image
from aip import AipOcr#百度的api,百度官网有教程
import base64
import shutil
import string
import urllib
import urllib2#热键功能,独立的一个线程
class Hotkey(threading.Thread):  #创建一个Thread.threading的扩展类  def run(self):  global EXIT #定义全局变量,这个可以在不同线程间共用user32 = ctypes.windll.user32  #加载user32.dlltry:if not user32.RegisterHotKey(None, ID, 0, HOTKEY):   # 注册快捷键F10并判断是否成功,该热键用于结束程序,且最好这么结束,否则影响下一次注册热键。  print "Unable to register id", ID # 返回一个错误信息#以下为检测热键是否被按下,并在最后释放快捷键  msg = ctypes.wintypes.MSG()  while True:if user32.GetMessageA(ctypes.byref(msg), None, 0, 0) != 0:if msg.message == win32con.WM_HOTKEY:if msg.wParam == ID:EXIT=Truereturnuser32.TranslateMessage(ctypes.byref(msg))  user32.DispatchMessageA(ctypes.byref(msg))   finally:user32.UnregisterHotKey(None, ID)#必须得释放热键,否则下次就会注册失败,所以当程序异常退出,没有释放热键,#那么下次很可能就没办法注册成功了,这时可以换一个热键测试class Ans():def main(self):im_name=os.listdir(path)#获取图片名self.cut()#对图片进行裁剪f=open('im.jpg','rb')#二进制方式打开图文件image=f.read()#这里好像必须命名为image,百度的api限定,有点不能理解,有待考察#im=base64.b64encode(f.read()) #读取文件内容,转换为base64编码#这里是每个百度云账号独立的一些ID,你需要自己去弄你自己的APP_ID='你的ID'API_KEY='你的KEY'SECRET_KEY='你的SECRET_KEY'client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#这个就是百度的api,可以获取一个相当于实例对象的东西,可以调用函数information=client.basicGeneral(image)#ocr函数,打印出来是json格式的STR=''#存储识别出来的文字for i in range(0,information['words_result_num']):#根据格式得出来的循环STR+=information['words_result'][i]['words'].encode('utf-8')#下面几行是对得到的字符串做一些处理,去掉一些符号,因为百度搜索限制38个字以内,个人觉得这里写的很丑,无奈没找到好的方法STR=STR[1:len(STR)]STR=STR.translate(None,string.punctuation)STR=STR.replace('“','')STR=STR.replace('”','')STR=STR.replace('《','')STR=STR.replace('》','')self.find(STR)#调用百度搜索,并保存到本地,再用默认浏览器打开print STRf.close()#关闭文件,不然后面删除不掉shutil.rmtree(path)#删除之前获得的图片文件以及这个文件夹,以便下次判断是否已经截屏#打开图片并裁剪def cut(self):im_name=os.listdir(path)#获取图片名,因为截屏靠的外部软件,没办法修改截屏图片的名字im=Image.open(path+'\\'+im_name[0])box1=(93,380,970,1200)#这个是把选项也截进来box2=(93,380,970,630)#这个是不把选项截下来crop_im=im.crop(box1)#裁剪函数im.close()crop_im.save('im.jpg')#保存本地,有不保存就直接用二进制打开的方式吗??求教#调用百度搜索,并保存到本地,再用默认浏览器打开,参考百度的资料,具体哪篇忘记了,,如有问题请联系我。。def find(self,STR):url = "http://www.baidu.com/s"search = [('w',STR)]getString = url + "?" + urllib.urlencode(search)req = urllib2.Request(getString)fd = urllib2.urlopen(req)baiduResponse=fd.read()fobj=open("baidu.html",'w')fobj.write(baiduResponse)os.startfile('baidu.html')#这个函数就很刚好的解决了大问题,可以用浏览器打开网页,不然就得手点了fobj.close()if __name__ == '__main__':HOTKEY=win32con.VK_F6 #结束程序的快捷键F6,自行根据需要修改,一定要手动关闭程序,否则下次这个快捷键就用不了了path="E:\Python\cddh\Pictures"#存储图片的路径,Pictures是软件自动创建的,所以修改路径时最后都要添加这个EXIT = False #用来传递退出的参数ID=106 #注册热键的唯一id,用来区分热键ans=Ans()#创建实例hotkey = Hotkey()  hotkey.start()#启动线程while(True):if os.path.exists(path):#检测是否截屏了,截屏了就会生成Pictures文件夹if os.listdir(path):#这里再做检测是因为文件夹创建完不代表图片就创建完成了,不信试试time.sleep(0.1)#删掉测试一下就知道为什么要加了。。反正我这里测试是要加的ans.main()elif EXIT==True: #退出程序break

冲顶大会、百万英雄等答题游戏助手(Python脚本)相关推荐

  1. 百万英雄类答题游戏的程序员打开方式

    最近知识答题类的app应用和网站  都很火  所以机器人多了,,百度度秘.搜狗小汪等 Python发挥了很大作用 <百万英雄><冲顶大会><头脑王者><一站到 ...

  2. java游戏英雄_【技巧攻略】教你用JAVA来玩《百万英雄》答题~

    <百万英雄>是一档全民知识互动游戏,在<百万英雄>里每场12道题目全部回答正确的人,将瓜分奖金. 后续更新在我的github上,欢迎大牛前来P.R: lingfengsan/M ...

  3. 如何用python写一个答题程序_如何使用Python写一个百万英雄的答题辅助程序 (0) 简介...

    关于百万英雄 前不久被女票介绍过来这个活动,需要下载西瓜视频APP(现在好像今日头条全系产品都支持了).这个活动是现在很火的答题分钱模式,只要答对12题就能和所有获胜者一起平分奖金. 最开始遇到不会的 ...

  4. 程序员告诉你如何用技术手段玩转冲顶大会

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者简介:杨光,CSDN 博客专家,中科院软件所研发工程师,曾参与网易热.网易花田的研发工作 ...

  5. 冲顶大会也可以这样玩

    最近一两天,"直播答题"已席卷互联网.王思聪力推<冲顶大会>.周鸿祎的花椒直播上线<百万作战>.今日头条&西瓜视频推出<百万英雄>.映客 ...

  6. 百万英雄,芝士超人,冲顶大会等答题助手

    百万英雄,芝士超人,冲顶大会等答题助手.自动提取题目,然后调用百度网页进行搜索. Github源码地址:点击这里 各APP对应的运行文件 百万英雄运行baiwan.py文件 芝士超人运行zhishi. ...

  7. 如何将“跳一跳”的Python辅助原理移植到“百万英雄”答题中

    最近什么比较火?跳一跳.支付宝红包.直播平台答题瓜分奖金.这里讲一讲关于跳一跳和答题瓜分奖金游戏.关于跳一跳的外挂,想必大家都有所耳闻,懂点技术的也会自己刷分了. 最开始有两种外挂,一种是直接通过po ...

  8. python设计答题软件_用python制作《冲顶大会》答题工具

    最近很多人玩答题类App,例如冲顶大会.芝士超人.百万英雄系列,答对12道题与其他玩家平分所有奖金,虽然奖金没有刚开始的时候多了,但偶尔还是能有个饭钱的.一方面是玩的人多了,另一方面是因为科技手段太多 ...

  9. html仿冲顶大会答题源码,答题类《冲顶大会》APP原型资源

    直播答题是2018年初兴起的一种依靠互联网在线答题赢奖金的活动.每次活动由一名主持人出题,一般都是选择题,每次出题会弹出画面,每题有10秒的回答时间.直播答题无疑已经渗透到我们的生活和娱乐中. 今天, ...

最新文章

  1. android底部滑出view,Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出...
  2. 强烈推荐8个良心好用的国产软件应用,让你爱不释手
  3. 收藏老外的jquery web 按钮插件
  4. leetcode1219. 黄金矿工(回溯)
  5. TFS2010映射工作区问题 路径 XXX 已在工作区 XXX;XXX 中映射
  6. LeetCode 380. 常数时间插入、删除和获取随机元素(哈希+vector)
  7. Web前端开发需要掌握的技能有哪些?
  8. 2018年9月8日 笔试小结
  9. storm 可靠性和非可靠性
  10. python初级工程师面试题_Python工程师面试题
  11. Julia :迎接0.6的到来
  12. 酷我音乐android2.0,酷我音乐2012 2.0.0(For iphone)享受听歌“零“消费
  13. qq西游服务器制作教程,QQ西游服务端文件说明 - 『天命/QQ西游』 - 任逍遥网游交流社区 | 任逍遥网游单机架设论坛 - Powered by Discuz!...
  14. Gazebo仿真WARN-The root link base_link has an inertia specified in the URDF, but KDL does not support
  15. vue2中vant实现网易云音乐案例-附带所有源码
  16. Python3.9数据库SQLite3学起(6)
  17. 微信对账单--每日定时任务获取昨日微信支付账单
  18. Postgresql通过docker进行高可用部署 pgpool-II
  19. unity烘焙室外黑斑
  20. Filter的过滤器链

热门文章

  1. C++ 多重继承详解
  2. C# 使用委托实现信用卡用户定时还款功能
  3. html5圆心坐标,圆心坐标的提取
  4. Vitis尝鲜(一)
  5. 法规标准-GB/T 20608标准解读(2006版)
  6. 【思行合一,共达彼岸】 – 梦想不止步,我为你的成长负责
  7. 【C语言程序】圆柱形粮仓
  8. android 浏览器 省流量,安卓手机浏览器哪个好用又省流量
  9. oracle2291,Oracle Sun Solaris本地安全漏洞(CVE-2011-2291)
  10. HBuilder 连接 Nox 夜神模拟器 adb命令不是内部或外部命令 解决方案