承接前文关于Python自动搜题的介绍https://zhuanlan.zhihu.com/p/32828411,此篇面向新手小白进行解析,助你成功运行自动搜题的python程序。

A部分是介绍思路,可以先跳到B部分去下载包,装中文包时耗时蛮长,可以再来细看A部分~

A 思路:如前文所述,代码大致分三步。

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

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

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

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

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

单论每一步,实现方法有很多,但考虑到时间,我们只选取耗时尽量少的方法来实现各部分功能。经过1月11日中午1点百万英雄直播答题时的测试,网络良好时,搜完结果剩余答题时间仍有5秒,完全达到预期效果(但由于中午醉心于搜索、录影,忘了答题了,一心不可二用啊T.T)

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

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

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

2. 接下来我们通过电脑截屏来实现截取屏幕上手机直播内容,由于Windows API获取截图的耗时极少,我们选择了它。这里win10是不用额外下载东西,但可能Win7或其它版本的Windows会遇到找不到win32gui情况,可以参考win7下安装python库的若干问题 - CSDN博客来解决。关于windows通过python截屏函数,参考Python实现屏幕截图的两种方式 - weiyinfu - 博客园

3. 拿到题目的截图后,要完成对题目中文字的读取,就需要安装PIL和pytesseract,同时还需要简体中文识别的引擎包tesseract-ocr,相关安装检测参考链接:Python人工智能之图片识别,Python3一行代码实现图片文字识别 - 邱石的专栏 - CSDN博客注意:安装引擎包时最好按照链接中保存到C盘相似的路径,我和朋友安到E盘都有报错,也没搞清具体原因,把文件剪切到C盘就解决了。

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

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

D 代码解析

def window_capture(filename):

#我针对自己手机的屏幕大小以及显示题目的位置重新对其设置

w = 380saveBitMap.CreateCompatibleBitmap(mfcDC,w,h)

#获取代码执行开始时间

start = time.time()

#获取截图'haha.jpg'

for i in range(10):

window_capture('haha.jpg')

#解析截图中的文本,注意这里text是'你 好 吗'中间带

text=pytesseract.image_to_string(Image.open('haha.jpg'),lang='chi_sim')

#去除字符串中间的空格

list =''.join(text.split())

#将题目内容作为搜索关键词加到百度网址

#通过浏览器打开搜索结果界面

webbrowser.open(url)

#计算代码执行时间

end = time.time()

E 直播实测希望当你看到这里时,能够成功运行代码咯~ 有问题可以留言,或者关注本公众号~

获取代码,请添加本公众号TEDxPY发送“自动搜题”~

希望能认识更多喜欢Python的朋友~!

python截图搜题_新手篇之实现Python自动搜题相关推荐

  1. python保存不了_新手,我的python保存不了文件

    查看: 801|回复: 18 [已解决]新手,我的python保存不了文件 电梯直达 发表于 2020-7-14 21:20:30 From FishC Mobile | 只看该作者 |倒序浏览 |阅 ...

  2. python 追加到字典_扫描器篇(三)之python编写基于字典的网站目录探测脚本

    工具原理: 通过读取字典获取内容,拼接url执行get http请求获取 响应状态码,根据状态码判断目录文件资源是否存在 1 2 思路: 工具命令行参数获取 1 字典读取 1 多线程访问 1 状态码获 ...

  3. python 逆向生成正则表达式_一篇搞定Python正则表达式

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类 ...

  4. Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程–>错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个人 ...

  5. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  6. python自动答题免费_直播答题?Python助你自动搜题之新手篇!

    承接前文关于Python自动搜题的介绍https://zhuanlan.zhihu.com/p/32828411,此篇面向新手小白进行解析,助你成功运行自动搜题的python程序. A部分是介绍思路, ...

  7. python自动答题软件_直播答题?Python助你自动搜题之新手篇!

    承接前文关于Python自动搜题的介绍 https:// zhuanlan.zhihu.com/p/32 828411 ,此篇面向新手小白进行解析,助你成功运行自动搜题的python程序. A部分是介 ...

  8. 编程小白学python知乎周刊_在知乎上学 Python - 入门篇

    写在前面 本文对知乎上关于Python入门方面的问答.文章.专栏做了一定的收集和整理,希望对各位Python学习者能有帮助,至少可以节省大家一点时间. 这一篇主要针对的是零基础或初学Python,包括 ...

  9. 如何用python做词云图_科学网—如何用Python做词云?(基础篇视频教程) - 王树义的博文...

    只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了. <如何用Python做词云?>图文版发布于2017年6月,是我数据科学系列教程中的第一篇. 目前仅简书一个平台 ...

  10. python urllib dns 缓存_新手用Python做一个网页爬虫

    咱们好哈,最近博主在学习Python,学习时期也遇到一些问题,获得了一些经历,在此将自个的学习体系地整理下来,假如咱们有爱好学习爬虫的话,能够将这些文章作为参阅,也期待咱们总共同享学习经历. 首要py ...

最新文章

  1. Android Wi-Fi子系统学习笔记
  2. nanodet onnx踩坑记录
  3. python详细下载安装教程-Pycharm及python安装详细教程
  4. NTU 课程笔记: PNP
  5. 线性代数之行列式基础点
  6. linux安装java jdk_Linux安装JDK详细步骤
  7. jQuery.Event的一些用法
  8. 《ArcGIS Runtime SDK for Android开发笔记》——(10)、ArcGIS Runtime SDK支持的空间数据类型...
  9. 水仙花数(python)
  10. 高通平台开机LOGO的修改与兼容
  11. ME525+刷机2.3.6版本过程分享
  12. pika在codis中的探索
  13. 【题解】LuoGu5423:[USACO19OPEN]Valleys P
  14. docker学习之docker镜像加速器
  15. [转]有关FMS(FCS)设置
  16. windows粘贴不了
  17. python爬虫详解(三)——爬取世界常用密码并保存到字典内
  18. 计量经济学(stata)笔记1 记录每天的进步
  19. 常用英语口语绝佳句型100句
  20. 对于addEventListener()事件的看法

热门文章

  1. 洛天依官方原版mmd模型_【MMD模型】天羽音官方MMD模型配布
  2. 台式计算机开机黑屏,台式电脑开机黑屏只有一个点怎么处理?
  3. 台服DNF更换Mysql5.6(rpm包安装、二进制安装)
  4. 网络的攻防,简单两步像黑客一样实现命令行对话,不需要社交软件也可以聊天,基础知识(一)
  5. iconfont 阿里巴巴矢量图标库 在线引入图标
  6. 苹果耳机无线真假测试软件,苹果耳机“真伪”终极鉴别来了,原来,区别如此大!...
  7. 迅捷pdf虚拟打印机怎么安装使用
  8. matlab两条曲线方程求交点_matlab中已知两曲线方程,怎样求两曲线交点并标注出?...
  9. Java递归算法经典实例
  10. 如何优雅的快速下载谷歌云盘的大文件 (一)