前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

小编闲暇时喜欢看热点,会收集微博,微信搜一搜上的热点,了解一下最近的娱乐八卦新闻。但是在浏览微博的时候,想把微博热点给复制下来,但是却怎么也复制不了,鼠标一放上去就变成了“小手”的形状。

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第1张

 

还有微信上的搜一搜,微信热点,文字都不好复制下来。肿么办~~

Python号称无所不能,既然是玩Python的呢,为啥不利用Python给自己打造一款截屏的文字识别工具,用来提升自己的效率。

整体的思路

小编花了几个小时的时间,查阅了相关的资料,完成了这个小demo的设计,拿来与大家一同分享。我们要实现的目标就是,通过快捷键进行截屏之后,将识别的文字信息输出到屏幕之上或者是保存到本地的文件中。

先来说说这个demo的实现流程,如下图所示:

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第2张

 

大概的步骤:

第一步,我们利用快捷键进行截屏

第二步,然后将截屏的图片进行保存

第三步,我们利用百度文字识别API进行文字的识别,最后我们将识别出来的文字进行保存。

图像的截取和保存

下面我们首先来完成第一和第二步,程序如下图所示:

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第3张

 

这里小编直接采用了微信的截屏快捷键,大家只需要在电脑上登陆微信电脑版,然后点击“alt+A”即可进行截屏,为了更加方便大家理解,小编这里制作了一张流程图,如下所示,大家先理解思路:

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第4张

 

然后我再给大家细细的一行一行讲解代码原理:

  • 当我们按下“alt+A"后,同时激活了微信截屏和程序继续执行;
  • 由于程序要从剪贴板中拿到图片,而剪贴板中的图片必须等待微信截屏中获取;
  • 接着程序必须等待5秒,让微信完成截屏并将图片放入到剪贴板中去,当完成这一步之后,程序才能继续向下执行;
  • 此时程序中最后两句,我们使用PIL库中的ImageGrab文件内的grabclipboard函数来获取剪切板当中的图片,并将其保存到本地的图片文件当中。

图像的识别和文字提取

上面的程序完成了我们的截屏和保存,下面的程序则实现了第三步和第四步的处理。就是把图像里面的文字通过AI技术提取,然后保存。

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第5张

 

上述的程序中,我们直接采用百度文字识别的API接口即可(如何使用百度AI接口这个前面的历史文章提到多次)。

  • 程序以二进制的形式读入了图片,并将其以base64进行编码;
  • 然后我们构造了接口的请url,其中self.access_token是接口的访问令牌,我们通过post的方式来提交参数信息;
  • 然后获取接口返回给我们的结果,如果结果正确返回的话,那我们就将结果写入到本地的指定txt文档内;
  • 否则程序就会输出“something wrong”并结束。

最后我们来展示一下程序运行的结果,提取出微博热点吧。

每天的微博热点保存不了怎么办?python帮你实现微博热点下载 Python 第6张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄