百万英雄类答题游戏的程序员打开方式
看了《程序员如何玩转《冲顶大会》?》大受启发,刚好前几天研究了下微信跳一跳的辅助,正好可以用上。
思路很明确,把答案截图pull过来,通过OCR识别成文字后再放到百度搜索。记过几番尝试后,一些容易搜索的问题还是是可以搜索答案的。
目前它是手动的,也就是说每次答案出现,手动执行脚本返回答案。同样由于个别题目原因(如某个词有多少笔画),不是每次都能搜出来。这时就考验你的手速和运气了。
实现语言python,用到的类库如下:
- PIL
- pytesseract(图片识别库)
- BeautifulSoup(页面解析)
文字识别引擎需单独安装,参见Python人工智能之图片识别,Python3一行代码实现图片文字识别以及mac上文字识别 Tesseract-OCR for mac
主体代码如下:
1 | import os |
文字识别需经训练,训练越多结果越准。
我把代码放到github上了,可围观hq-answer-assist
要想实现更智能化,有个思路是不停的截图(1秒一次),一旦截到答题页(可以用答题页的色差来做),做文字识别后百度,将百度后的结果与选项做比较,哪个出现次数最多哪个就是最佳答案,这里可以加个判断,如果特别确定直接模拟点击事件选答案,不确定就手工。
有同学提到分析请求,也是个思路,后续可以研究。
欢迎探讨其他更好的实现方式。