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

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

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

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

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

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

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

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

程序环境

语言:Python 3
编辑器:Pycharm

主要库

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

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

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

  • PIL:Python 中图像处理库。

页面分析

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

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

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

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

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 条往上递增。

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

代码分析

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

制作热评词云图

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

制作评论词云图

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

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

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

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

长按识别二维码关注


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

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

推荐阅读:

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

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

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

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

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


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

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

Python大数据分析年度最短歌曲「贝贝」相关推荐

  1. Python 大数据分析疫情:如何实现实时数据爬取及 Matplotlib 可视化?

    作者 | 杨秀璋 来源 | CSDN博客专家Eastmount 责编 | 夕颜 思来想去,虽然很忙,但还是挤时间针对这次肺炎疫情写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图 ...

  2. Python大数据分析实战:豆瓣电影Top250中的最佳导演是谁?

    在之前写的一篇文中中,已经采用urllib和BeautifulSoup的方式抓取了豆瓣电影TOP250的导演.编剧.演员.上映时间和地区.语言.短评数.影评数.多少人想看.多少人看过等22个字段. 接 ...

  3. 毕设设计之 ---基于python大数据分析的北上广住房数据分析

    文章目录 前言 分析展示 一.北上广租房房源分布可视化 二.北上广内区域租金分布可视化 三.房源距地铁口租金的关系可视化 四.房屋大小与租金关系可视化 结论 租个人房源好还是公寓好 北上广深租房时都看 ...

  4. 干货!小白入门Python数据科学全教程 Python大数据分析

    本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据工程师 ...

  5. python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

    原标题:如何用Python分析大数据(以Twitter数据挖掘为例) 来源:艾翻译(http://www.itran.cc/) 原文标题:Twitter Data Mining: A Guide to ...

  6. python大数据分析实例-Python实现的大数据分析操作系统日志功能示例

    本文实例讲述了Python实现的大数据分析操作系统日志功能.分享给大家供大家参考,具体如下: 一 代码 1.大文件切分 import os import os.path import time def ...

  7. Python大数据分析与挖掘实战微课版答案 Python大数据分析与挖掘实战课后答案 例题 课后作业 python题目 python题库 数据分析与挖掘题库 数据分析与挖掘项目

    (在此仅展示题目,所有数据.代码.答案.习题等点我头像,在资源中!!!) 以下关于pandas 数据预处理说法正确的是(). A. pandas没有做哑变量的函数 B. 在不导入其他厍的情况下,仅仅使 ...

  8. Python大数据分析(二):大数据技术基础

    文章目录 (一)Linux系统和大数据 (二)Hadoop (1)Hadoop包含哪些模块? (2)Hadoop的生态成员 (3)哪些人在使用Hadoop? (三)Spark (1)Scala (2) ...

  9. python大数据分析入门实例-Python大数据分析与机器学习商业案例实战

    大数据分析与机器学习技术已成为各行各业实现数字化变革的关键驱动力.本书以功能强大且较易上手的Python语言为编程环境,全面讲解了大数据分析与机器学习技术的商业应用实战.全书共16章,讲解了线性回归模 ...

最新文章

  1. mysql查看某个数据库下的所有视图
  2. Xcode 7中http通信出现如下错误
  3. Windows之Chocolatey:windows下的apt-get即Chocolatey简介、安装、使用方法之详细攻略
  4. 伪分布式hbase数据迁移汇总
  5. channels2.X 学习笔记
  6. 牛客网 【每日一题】[SCOI2009]粉刷匠
  7. Taro+react开发(1)--简介
  8. HDU 3572 Task Schedule
  9. 屏幕元素创建的基本语法
  10. docker安装mysql以及设置navicat远程访问
  11. Hadoop 面试题之七
  12. NUAAccst计算机网络第四章网络层复习
  13. Dijkstra算法结合时间窗规划无冲突路径
  14. 自适应滤波器 | 频域自适应滤波器(FLMS)
  15. 许晓斌_Maven实战(四)——基于Maven的持续集成实践
  16. GEE实战 | 计算NDVI NDWI
  17. 解决Ubuntu 安装时Unable to fetch some archives connection failed [ip: 91.189.91.39 80]
  18. 正运动控制器编程出现错误后,修改后,错误还在。
  19. RPO 相对路径覆盖攻击
  20. 【解决方案】国标GB28181级联EasyGBS及RTSP/SDK/Ehome协议平台EasyCVR在营业厅人脸识别监控系统中的应用

热门文章

  1. LSH系列2:MinHashLSH——文档(集合)相似性
  2. android中群发短信PendingIntent.getBroadcase的注册广播
  3. 【游戏开发】状态同步与帧同步优缺点对比
  4. 华为荣耀7i手动更改DNS,提高网页加载速度
  5. vCard标准及解析
  6. 黑白照片如何上色?这几个方法能让黑白照片上色
  7. 笔记本Ubuntu18.04-盒盖休眠解决办法
  8. Windows无法显示隐藏文件夹之问题解决
  9. python入门之函数结构函数的参数_Python 基础之函数初识与函数参数
  10. ChatGPT是什么