吃瓜群众,我用五行Python代码让微博热点动起来!

点击上方“菜鸟学Python”,选“星标”公众号

重磅干货,第一时间领取

对于微博,大家都非常的熟悉,大家日常的生活中都喜欢,刷刷微博,看看微博上的实时热点,看看今天又有什么瓜可以吃。但是文字版得到微博热点,看起来非常的不直观,今天,小编就带领大家利用python,用5行代码让微博的热点动态展示出来

01.整体思路

我们首先是利用爬虫来抓取微博的实时热点,然后将其保存到本地的csv文件中,然后接下来利用python读取实时热点的数据,将其动态可视化展示出来。

02.热点抓取

对于微博的热点,大家可以从这个网站获取:

https://s.weibo.com/top/summary

微博的热点更新频率很快,所以我们只需要每间隔一分钟进行一次抓取即可。这样既可以较为及时的抓取热点,同时也能防止微博的反扒。微博的热点的网页属于静态网页。如下图所示:

可以看到,微博热点的信息都能在其对应的网页源代码中得到,因此直接利用requests库进行网页信息抓取,并利用BeautifulSoup进行网页解析并提取需要的内容即可。

上述程序中,首先利用requests库抓取网页内容,然后利用BeautifulSoup进行解析,提取排名前十的微博热点的排名和热度值等信息,写入到本地的csv文件中去。下图展示的是抓取到的微博热点信息:

可以看到,上述的微博热点是每隔一分钟进行更新,并提取了前十名热点的热度值和微博内容。

03.五行代码可视化展示

可视化的展示,这里向大家介绍一个动态可视化的神器——Bar Chart Race。这个库目前只有0.1.0和0.2.0两个版本,但是通过直接的pip install安装只能安装0.1.0版本,要安装0.2.0版本的Bar Chart Race,需要从GitHub上下载源码,然后在本地安装,如下所示:

将下载好的bar_chart_race-master放到指定的文件夹下,然后跳转到该文件夹内,运行pip setup.py install ,即可安装bar_chart_race的最新版本。

对于bar_chart_race的使用,只需要导入bar_chart_race(bcr)库,然后加载数据即可使用,bcr的作者已经封装了几个数据,如下图所示,展示的是全球新冠病毒的死亡人数排行榜。

而程序是非常的简单,只需要短短的两句程序即可

04.探秘bcr库

bcr的作者给我们封装了非常简单的接口,我们只需要按照他的接口填充数据即可。上述的两句程序中,bcr首先加载了新冠死亡人数的数据,然后利用bar_chart_race来创建动态展示图。

而通过阅读bcr的源码我们可以得知,load_dataset函数也是通过pandas来加载csv数据,所以得到的df也是DataFrame数据类型。

所以对于我们自己抓取的微博热搜榜数据,我们首先要将数据处理成符合bcr要求的数据格式,然后再利用pandas读取,送入到bar_chart_race函数中即可。数据处理格式和程序如下图所示:

数据中,第一列是我们的时间,第一行是柱状图的坐标,然后数据的内容是表示的热度值。程序中,我们利用pandas来读入数据,然后直接利用bar_chart_race来画出我们的微博动态热搜榜。

05.展示效果

说了这么多,我们最后一起来看一下效果,非常炫酷的动态排行榜。

推荐阅读

每个程序员都是从菜鸟开始成长起来的,没有人生下来就是程序员高手。菜鸟编程大本营,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

菜鸟编程本营,从菜鸟进阶高手
点这里,获取新手福利
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值