Python大数据分析年度最短歌曲「贝贝」

点击上方"brucepk",选择"置顶公众号"

第一时间关注 Python 技术干货!

阅读文本大概需要 4 分钟。

在这个月的 17 号,李荣浩发了一张新专辑「耳朵」,专辑里有一首歌「贝贝」,只有 4 秒,歌词也就两个字。而且这首歌的作曲 、作词 、编曲、制作人、和声、录音师、混音师、录音室、混音室、母带后期制作人、母带后期处理工程师、母带后期处理录音室一样都没少。这首歌在网易云音乐里的评论截止到我写这篇文章时已经有 7.4 万多的评论。这些评论都说了什么呢?

我用 Python 把热门评论和全部评论提取出来做成了词云图,我们一起来看看大家都说了什么。

热门评论词云图如下。大家都很意外,这竟然是一首歌!这应该是年度最短的一首歌,看来大家还是意犹未尽啊,哈哈

Python大数据分析年度最短歌曲「贝贝」_第1张图片

全部评论词云图如下,全部评论大家都在哈哈大笑,感觉都被浩哥 4 秒的歌曲逗笑了,还有些朋友以为手机卡了,还有单曲循环听这首歌的,也许在年度网易听歌报告单上:10 月 17 日是一个特别的日子,「贝贝」这首歌你听了三百次

Python大数据分析年度最短歌曲「贝贝」_第2张图片

由于有些爱学习的小伙伴需要教程,接下来我就把给大家分析下。

程序环境

语言:Python 3
编辑器:Pycharm

主要库

  • jieba:一个强大的分词库,完美支持中文分词。

  • matplotlib:一个 Python 的 2D 绘图库。

  • wordcloud:制作文字云图片库。

  • PIL:Python 中图像处理库。

页面分析

打开网页版网易云音乐中「贝贝」这首歌,F12 打开谷歌调试工具。在 Network 中查看评论数据。我们看到第一页 json 信息中存在热门评论和普通评论信息。

Python大数据分析年度最短歌曲「贝贝」_第3张图片

要想提取出这些评论,需要知道它的请求,我们切到 Headers 查看请求链接,发现请求方式是 POST。

Python大数据分析年度最短歌曲「贝贝」_第4张图片

Headers 页面向下滑动,发现有两个参数,而且参数 params 和 encSecKey 是加密后的,每页都不一样。

Python大数据分析年度最短歌曲「贝贝」_第5张图片

怎么去解密今天就不讲了,因为在我苦苦探索中,我发现了一个没有加密的评论接口可以直接调用。

http://music.163.com/api/v1/resource/comments/R_SO_4_1318234987?limit=20&offset=0

通过在页面中打开,可以看到评论的 json 格式,其中 R_SO_4 后面的数字是歌曲的 id,limit 和 offset 分别表示页面评论数和偏移量,评论数是 20 条,偏移量每 20 条往上递增。

Python大数据分析年度最短歌曲「贝贝」_第6张图片

这样我们就可以改变页面的偏移量来切换页面了。

代码分析

首先我们定义一个获取页面 json 信息的方法。

Python大数据分析年度最短歌曲「贝贝」_第7张图片

制作热评词云图

因为热门都在第一页,所以链接是固定的。热门评论在 json 信息的 hotComments 里。提取出来并用 jieba 库进行分词处理。把词云图的背景图放在固定目录下,定义词云背景图颜色、尺寸、字体大小,字体颜色。

Python大数据分析年度最短歌曲「贝贝」_第8张图片

制作评论词云图

获取全部评论重点在分页上,每页的评论都在 0 到 20 json 格式里面。用双层 for 循环进行提取全部评论,外层循环控制页数,内层循环提取 0 到 20 条评论。截止到我写文章时已经有 7 万多评论,3 千多页,全部爬取下来比较耗时,为了节省时间,我只爬取了前 100 页面的评论信息。大家注意下,在切换页面时加一个随机等待时间,防止 ip 被封。以下是提取前 100 页评论的代码,制作词云图代码和上面一样就不放出来了,本文全部源码获取方式见文末。

Python大数据分析年度最短歌曲「贝贝」_第9张图片

公众号里回复「贝贝」获取本文源码。

对了,昨天的免费抽奖送书活动截止到本周末,名额已不多了,还没抽奖的赶紧去抽一波,中了就赚到了。

「pk哥」以梦为马,不负韶华

长按识别二维码关注Python大数据分析年度最短歌曲「贝贝」_第10张图片

Python大数据分析年度最短歌曲「贝贝」_第11张图片

觉得不错,点赞、赞赏、转发朋友圈都是一种支持。

pk哥用了新的留言方式,欢迎点击下方小程序留言

推荐阅读:

30行Python代码实现自动收发邮件

Python爬取微信,我发现了之前没发现的秘密!

Python爬虫下载喜马拉雅音频文件

Python爬虫之b站的正确打开方式

Python框架Django入门:环境及项目搭建

Python大数据分析年度最短歌曲「贝贝」_第12张图片

大量 IT 资源免费送,包括但不限于 Python、Java、人工智能、PMP,等等,在公众号内回复「1024」可免费获取。

本公众号的全部文章以整理成目录,后台回复「目录」可查看所有文章。

你可能感兴趣的:(Python大数据分析年度最短歌曲「贝贝」)