社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

直播答题?Python助你自动搜题之新手篇!

python • 7 年前 • 646 次点击  

1. 获取手机直播答题界面截图

注意:我们这里只关注题目,不管选项,通过搜索题目内容获取辅助线索,所以截图我们只定位在显示题目的位置就足够了,这样图片中读取文字的速度快精度也高一些,例如中午1点直播答题测试时截图第六题:

2. 读取截图中的题目文字内容

这里我们在shell处将读取到的题目内容输出展示,同时也显示代码耗时:

3. 打开浏览器执行对题目搜索

单论每一步,实现方法有很多,但考虑到时间,我们只选取耗时尽量少的方法来实现各部分功能。经过1月11日中午1点百万英雄直播答题时的测试,网络良好时,搜完结果剩余答题时间仍有5秒,完全达到预期效果

B 下载相关功能包:由于我也算是刚入门的新手,基本各种功能模块都是按着搜来的网上教程来的,所以大家只要能保证各个模块都配好,最终程序跑通还是不难的。

执行代码时,我用的是Windows10系统电脑,Python3.6,安卓手机数据线连电脑。

1. 无论什么手机、电脑系统,要做的是实现把手机屏幕内容实时显示在电脑屏幕上,我是用的360手机助手的'演示'功能完成了对安卓和windows的连接,其余型号手机电脑可以自己搜一下来解决。

2. 接下来我们通过电脑截屏来实现截取屏幕上手机直播内容,由于Windows API获取截图的耗时极少,我们选择了它。由于Python没有自带访问windows系统API的库,需要下载pywin32库来实现,pip 安装的命令是: pip install pypiwin32(注意安装时是pypiwin32,不是pywin32)。这里关于windows通过python截屏函数

3. 拿到题目的截图后,要完成对题目中文字的读取,就需要安装PIL和pytesseract,同时还需要简体中文识别的引擎包tesseract-ocr,相关安装检测参考链接:Python人工智能之图片识别,Python3一行代码实现图片文字识别 注意:安装引擎包时最好按照链接中保存到C盘相似的路径,我和朋友安到E盘都有报错,也没搞清具体原因,把文件剪切到C盘就解决了。另外,请官方下载最新版或者通过我这网盘分享的4.0.0版本的,链接中的版本有点低,准确率也较差

4. 打开浏览器的时webbrowser模块,自带不用下载。

C 接下来是校准工作,调整代码中w,h值来改变截图大小,(20,140)处的两个值改变截图初始位置坐标,对应着你个人手机屏幕在电脑屏幕中的显示位置,调整以上的值使截图恰好落在手机屏上直播时显示题目的位置。

D 代码解析

作者:TED

源自:https://zhuanlan.zhihu.com/p/32852775

声明:文章著作权归作者所有,如有侵权,请联系小编删除




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/dqdtwbZs5n
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/5360
 
646 次点击