Py学习  »  Python

50行Python代码,一键获取微博热点

菜鸟学Python • 3 年前 • 243 次点击  

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



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

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社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/64285
 
243 次点击