使用爬虫抓取网易云音乐热门评论生成好玩的词云

author author     2022-08-29     267

关键词:

互联网爬虫是一个很有意思的技术,借由爬虫,我们可以做到很多好玩的事情——这其中就包括爬取评论。

词云就是个更好玩的技术,通过技术方法分析词语出现频率,生成可视化的图形,将文字内容用图形呈现,想想就很意思。

这次,我们就试着把这两个技术结合起来吧。

技术分享

前言


网易云音乐一直是我向往的“神坛“,听音乐看到走心的评论的那一刻,高山流水。于是今天来抓取一下歌曲的热门评论。并做成词云来展示,看看相对于这首歌最让人有感受的评论内容是什么。

做成词云的好处就是直观以及美观, 其他的我也想不出来有什么了。

抓数据


要想做成词云,首先得有数据才行。于是需要一点点的爬虫技巧。

  • 抓包分析

  • 加密信息处理

  • 抓取热门评论内容


01

抓包分析


使用Chrome控制台。我们可以轻松的找到评论所在的链接。如下图: 
技术分享

现在URL算是找到了,下一步就是进行数据抓取了。但是简单尝试了一下,发现并不能获取到详细的信息,而是返回了空空的字符串。 
再次查看hreaders的信息,发现浏览器使用的是POST的方式进行的请求。具体字段如下图: 
技术分享


02

加密信息处理


然后经过我的测试,直接把浏览器上这俩数据拿过来就可以。但是要想真正的解决这个加密处理,还需要有点加解密的只是存储。GitHub上有大牛分析了网易云音乐的字段加密的详情。有兴趣的可以搜索一下下面的文章参考一下。

网易云音乐新登录API分析

这里我就使用这么个临时的方法好了,而且对于不同的歌曲是可以重用的。待会我们可以验证一下。


03

抓取热门评论内容


从第一步拿到了接口,而返回的数据就是一个JSON字符串,获取一下稍作处理即可使用。

技术分享

看下运行的结果吧。

技术分享


词云


词云我使用的一个第三方库Wordcloud,可以使用pip进行安装。官网上有非常详细而且清晰的案例可供参考,这里就不重复的描述了。有兴趣的参考下面的链接。 
https://amueller.github.io/word_cloud/auto_examples/index.html

下面就直接上代码好了。

但是官网也好,其他地方也罢,都没有说对于中文的处理。然后我找啊找啊的,终于找到了解决办法,那就是在WordCloud的构造方法上指定字体文件的路径。这样就可以解决中文乱码的问题了。具体设置如下:

WordCloud(random_state=1, font_path = r’C:/Users/Windows/fonts/simkai.ttf’)

技术分享


01

词云运行效果


最后来对比一下运行的效果。 
技术分享


总结


来回顾一下,文章针对网易云音乐的热门评论做了爬取,并通过词云生成器制作出了相对应的词云。

可以拓展的地方:

  • 词云mask,支持特定背景的词云生成

  • 热门评论批量爬取,只需要获取对应歌曲的ID即可。

  • 封装起来,提取接口,对外界提供热评服务,或者词云生成服务。

  • … …

最后,网易真的是国内互联网的现象级产品——似乎所有的网易产品都天生自带神评论的属性。

看了这篇文章,建议大家可以自己动手实践一下,如果操作过程出现什么问题,也可以在评论区留言交流哦~


本文出自 “马哥Linux培训” 博客,请务必保留此出处http://mageedu.blog.51cto.com/4265610/1920309

简单的网易云音乐热门评论爬虫(代码片段)

简单的网易云音乐热门评论爬虫注:本文没有什么技术含量,就是一个普通的AJAX数据爬虫,适合新手练习目标:爬取网易云音乐歌曲的热门评论分析:本次爬虫不难,思路是请求和获取数据,网易云音乐的评论是通过AJAX的方式... 查看详情

网易云音乐评论爬虫:歌曲的全部评论

用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条.现在我就来分享一下如何爬取网易云音乐歌曲的全部评论,由于网易云音乐的评论都做了混淆加密处... 查看详情

爬取网易云音乐评论并使用词云展示(代码片段)

...取该歌曲下的所有评论并用词云工具展示。  我们使用chrome开发者工具,发现歌曲的评论都隐藏在以R_SO_4开头的XHR文件中接下来思路就很明确,拿到该文件,解析该文件的json数据,拿到全部评论。 我们可以看到该文... 查看详情

使用python爬取app安卓应用商店评论并生成词云(代码片段)

...店地址:https://appgallery.huawei.com/app/C107638641.分析网页使用Chrome打开应用商店地址,按F12打开开发工具分析评论请求数据请求地址与参数࿱ 查看详情

使用python爬取app安卓应用商店评论并生成词云(代码片段)

...店地址:https://appgallery.huawei.com/app/C107638641.分析网页使用Chrome打开应用商店地址,按F12打开开发工具分析评论请求数据请求地址与参数࿱ 查看详情

jieba库和好玩的词云

      查看详情

如何生成简单好看的词云?

...快图,效果也很OK。因为网上已经有挺多人介绍过WordArt的使用方法,那我今天就重点分享一下快图里的词云功能怎么用吧。打开官网进入“设计管理”页面,自定义创建空白画布或者直接把想要当成背景的图片拖进浏览器;2.接... 查看详情

jieba库使用和好玩的词云(代码片段)

jieba库的使用: (1) jieba库是一款优秀的Python第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。   精确模式:试图将语句最精确的切分,不存在冗余数... 查看详情

如何用python网络爬虫爬取网易云音乐歌曲

今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地。跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两个参数,... 查看详情

jieba库的使用和好玩的词云(代码片段)

jieba库的使用和好玩的词云一、jieba库使用(1)安装:输入命令:pipinstalljieba(如图:在后面加上所示网址超级快) (2)jieba库常用函数  jieba库分词的三种模式:  1、精准模式:把文本精准地分开,不存在冗余  2、... 查看详情

词云简单生成(代码片段)

词云简单生成英文词云图:最简单的词云图中文词云图:中文字体中文词云图:分词中文词云图:生成指定形状的词云中文词云图:生成指定颜色的词云中文词云图:生成自定义颜色的词云中文词云图࿱... 查看详情

词云简单生成(代码片段)

词云简单生成英文词云图:最简单的词云图中文词云图:中文字体中文词云图:分词中文词云图:生成指定形状的词云中文词云图:生成指定颜色的词云中文词云图:生成自定义颜色的词云中文词云图࿱... 查看详情

jieba库使用和好玩的词云(代码片段)

《决胜全面建成小康社会  夺取新时代中国特色社会主义伟大胜利》1importjieba2importwordcloud3f=open("C:UsersAdministratorDownloadspython新建文本文档.txt","r",encoding="UTF-8")4importimageio5mask=imageio.imread("yes.png")6t=f.read()7f.close()8ls=jieba.lcut(t)9... 查看详情

如何用爬虫获取网易云音乐歌单中的歌曲

...以下载一个免费版自己试试,有一些很复杂的网站比如反爬虫的,他们也可以采集。 查看详情

爬取网易云听歌排行榜歌单制作云词(代码片段)

...登录成功后,进入自己或好友的听歌排行榜,如图:直接使用浏览器的开发工具,刷新页面查看接口及其返回结果,找到刷新该列表的接口,如图:找到url后,再找到对应的cookie等值,复制保存。如图:至此,我们已经找到网页所有... 查看详情

jieba库的使用和好玩的词云(代码片段)

I.三国演义和水浒传的词频统计:#三国演义的词频统计importjiebaexcludes="将军","却说","荆州","二人","不可","不能","如此"txt=open("threekingdoms.txt","r",encoding=‘utf-8‘).read()words=jieba.lcut(txt)counts=forwordinwords:iflen(word)==1:continueelifword=="诸葛... 查看详情

jieba库的使用和好玩的词云(代码片段)

jieba库的使用: (1) jieba库是一款优秀的Python第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。   精确模式:试图将语句最精确的切分,不存在冗余数... 查看详情

小白学爬虫:网易云音乐歌单

从零开始写爬虫,初学者的速成指南!介绍什么是爬虫?先看看百度百科的定义:号:923414804群里有志同道合的小伙伴,互帮互助,群里有不错的视频学习教程和PDF!简单的说网络爬虫(Webcrawler)也叫做网络铲(Webscraper)、网络... 查看详情