小编闲暇时喜欢看热点,会收集微博,微信搜一搜上的热点,了解一下最近的娱乐八卦新闻。但是在浏览微博的时候,想把微博热点给复制下来,但是却怎么也复制不了,鼠标一放上去就变成了“小手”的形状。
还有微信上的搜一搜,微信热点,文字都不好复制下来。肿么办~~
Python号称无所不能,既然是玩Python的呢,为啥不利用Python给自己打造一款截屏的文字识别工具,用来提升自己的效率。
1整体的思路
小编花了几个小时的时间,查阅了相关的资料,完成了这个小demo的设计,拿来与大家一同分享。我们要实现的目标就是,通过快捷键进行截屏之后,将识别的文字信息输出到屏幕之上或者是保存到本地的文件中。
先来说说这个demo的实现流程,如下图所示:
大概的步骤:
第一步,我们利用快捷键进行截屏
第二步,然后将截屏的图片进行保存
第三步,我们利用百度文字识别API进行文字的识别,最后我们将识别出来的文字进行保存。
2图像的截取和保存
下面我们首先来完成第一和第二步,程序如下图所示:
这里小编直接采用了微信的截屏快捷键,大家只需要在电脑上登陆微信电脑版,然后点击“alt+A”即可进行截屏,为了更加方便大家理解,小编这里制作了一张流程图,如下所示,大家先理解思路:
然后我在给大家细细的一行一行讲解代码原理:
当我们按下“alt+A"后,同时激活了微信截屏和程序继续执行;
由于程序要从剪贴板中拿到图片,而剪贴板中的图片必须等待微信截屏中获取;
接着程序必须等待5秒,让微信完成截屏并将图片放入到剪贴板中去,当完成这一步之后,程序才能继续向下执行;
此时程序中最后两句,我们使用PIL库中的ImageGrab文件内的grabclipboard函数来获取剪切板当中的图片,并将其保存到本地的图片文件当中。
我们通过下面的动图来展示一下效果:
(动画盯着看10秒)
3图像的识别和文字提取
上面的程序完成了我们的截屏和保存,下面的程序则实现了第三步和第四步的处理。就是把图像里面的文字通过AI技术提取,然后保存。
上述的程序中,我们直接采用百度文字识别的API接口即可(如何使用百度AI接口这个前面的历史文章提到多次)。
程序以二进制的形式读入了图片,并将其以base64进行编码;
然后我们构造了接口的请url,其中self.access_token是接口的访问令牌,我们通过post的方式来提交参数信息;
然后获取接口返回给我们的结果,如果结果正确返回的话,那我们就将结果写入到本地的指定txt文档内;
否则程序就会输出“something wrong”并结束。
最后我们来展示一下程序运行的结果,提取出微博热点吧。
视频展示
有兴趣的小伙伴,可以动手自己试一下,说百边道千边,不然自己动手敲一边,需要源码的同学可以获取参考一下。
可以扫码输入:【微博】
获取源码
往期热门:
十行代码,用Python做一个迷你版的美图秀秀实战:Flask + Vue 生成漂亮的词云Python和Go都很火,我要怎么选?漫画,假装自己是Python高手,学会这十招就可以看了范伟和葛大爷的电影,我决定用Python做个石头剪刀布卧槽!一行Python代码写的游戏,我能这样玩一天!80行代码!用Python做一个哆来A梦分身值得收藏!8大技巧,带你了解菜鸟和高手的区别!
点个[在看],是对菜鸟哥最大的支持!