社区所有版块导航
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

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

菜鸟学Python • 5 年前 • 331 次点击  

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



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

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
 
331 次点击