网易云音乐评论生成Wordcloud(词云)


1 前言

1.1 目的

本篇主要介绍网易云音乐爬取歌曲知足的评论生成词云,可以结合新浪微博生成词云学习。

1.2 工具

  • Wordcloud 词云(pip install wordcloud安装即可)
  • jieba 分词(pip install jieba安装即可)
  • 第三方网易云API(需配合node.js食用):https://github.com/Binaryify/NeteaseCloudMusicApi

2 过程

2.1 思路分析

  1. 爬取评论内容,查看API接口为/comment/music?id=385965id为要爬取评论的歌曲id,通过API/search?keywords=知足可以得到添加offsetlimit(默认为20),然后offset可以通过offset = (page - 1) * 20得到。

  2. 解析Json数据,抓取评论
  3. 引入Wordcloud模块,生成词云。

2.2 步骤

  • 本人用Scrapy实现数据抓取,Spider下parse改写如下:
        def parse(self, response):body = json.loads(response.text)comments = body['comments']for comment in comments:item = NeteasecommentsItem()item['content'] = comment['content']yield itemself.page += 1if self.page >= 51:raise IOErrornext_url = 'http://localhost:3000/comment/music?id=%d&offset=%d' % (self.id, (self.page - 1) * 20)yield scrapy.Request(next_url)

其中:

        if self.page >= 51:raise IOError

设定抓50页退出。

  • pipeline中处理text内容,将内容输出到文本中。
class NeteasecommentsPipeline(object):def process_item(self, item, spider):with open('result.txt', 'a+', encoding='utf-8') as f:f.write(item['content'] + '\n')return item
  • 生成词云
from wordcloud import WordCloud
import jieba
import matplotlib.pyplot as pltwith open('result.txt', 'r', encoding='utf-8') as f:f_text = f.read()res = jieba.cut(f_text)res_text = ' '.join(res)background_img = plt.imread('bg.jpg')wc = WordCloud(font_path='SourceHanSans-Normal.ttf', mask=background_img).generate(res_text)plt.imshow(wc)plt.axis('off')plt.show()

其中,mask参数用来修改背景图片,否则是一个矩形,font_path用于引入自定义字体,默认字体不显示中文,matplotlib.pyplot用于显示生成的图片。
放个最终效果图吧。


3 总结

最后说明一下:
* 自定义字体必须支持中文显示,不然还是会显示一个个口字;
* 背景图片最好选用分辨率高一点的,不然显示效果很差;
* 其它细节请看新浪微博生成词云;
* Node.js版网易云音乐API:https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi
最最后再放个我用的背景图片吧:


以上。

网易云音乐评论生成Wordcloud(词云)相关推荐

  1. 爬虫之js加密破解抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页 动态网页 页面解析 step1: 找参数 step2:分析js函数 step3:分析参数 step4: 校验 step5:转为python代码 编写爬虫 ...

  2. Python爬虫之js加密破解,抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页动态网页 页面解析 step1: 找参数step2:分析js函数step3:分析参数step4: 校验step5:转为python代码 编写爬虫 很多人学 ...

  3. Python爬取网易云歌曲评论,做词云分析

    前言 emmmm 没什么说的,想说的都在代码里 环境使用 Python 3.8 解释器 3.10 Pycharm 2021.2 专业版 selenium 3.141.0 本次要用到selenium模块 ...

  4. 网易云音乐评论 可视化分析

    之前已经用python获取了网易云音乐的评论数据,下一步的工作就是数据分析了.一般数据分析无非是采用(统计)数字.图或者表的形式来展现数据之中隐含的信息.其中图和表显然是最直观的了.所以这里我使用可视 ...

  5. python爬取网易云音乐评论并进行可视化分析

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家一个爬取网易云音乐评论的Python案例,并用Python的第三方库来进行可视化分析,生成图表样式,可以清晰地 ...

  6. 44 万条数据揭秘:如何成为网易云音乐评论区的网红段子手?

    作者 | 朱小五 责编 | 伍杏玲 有个段子讲"十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单身狗",网易云音乐的评论区也一直都是各类文案大神的聚集地. 那么我们普通用 ...

  7. python爬虫网易云音乐评论最多的歌_Python爬虫44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?...

    获取数据 其实逻辑并不复杂: 1.爬取歌单列表里的所有歌单url. 2.进入每篇歌单爬取所有歌曲url,去重. 3.进入每首歌曲首页爬取热评,汇总. 歌单列表是这样的: 翻页并观察它的url变化,注意 ...

  8. 爬取网易云音乐评论《安河桥》,进行分析

    这是一首安河桥北,宇西唱的,个人感觉她和宋冬野唱的都很好,十分喜欢. 其中的评论也是十分有趣: 摘取几个看看: 如果直接对:https://music.163.com/#/song?id=416892 ...

  9. python的歌曲评论数据分析_用Python分析44万条数据,揭秘如何成为网易云音乐评论区的网红段子手...

    有个段子讲"十年文案老司机,不如网易评论区,网易文豪遍地走,评论全部单身狗",网易云音乐的评论区也一直都是各类文案大神的聚集地. 那么我们普通用户到底如何成为网易云音乐评论里的热评 ...

最新文章

  1. webuploader上传文件,后台Java接收
  2. 鸿蒙tv系统安装,运行第一个鸿蒙tv应用
  3. MySQL之——The slave I/O thread stops because master and slave have equal...
  4. 某微型计算机指令格式如图,组成原理考试试卷
  5. Python的10个神奇的技巧
  6. 二叉搜索树的中序遍历为 递增序列_Go 刷 Leetcode 系列:恢复二叉搜索树
  7. 联想Y470为什么安装不上CentOS7 x86_64的系统?
  8. 房地产大亨PropTiger将VR/AR初创公司3DPhy收入麾下
  9. 全民 Transformer (二): Transformer在深度学习和NLP中如何发挥作用
  10. 初窥QuickTest脚本录制
  11. php使用redis实例,php中使用redis队列操作实例代码
  12. 小程序包大小超过限制
  13. 取消360导航作为浏览器访问首页
  14. 时域特征提取_EEG信号特征提取算法
  15. 我为什么选择使用Go语言?
  16. 借助MPU6050上手卡尔曼滤波
  17. 2015ccpc——G - Ancient Go
  18. c++ C2001 常量中有换行符
  19. 猿创征文|『编程与创作』10款颜值颇高的宝藏工具
  20. 图片纯前端JS压缩的实现

热门文章

  1. TYVJ 武器分配
  2. 构建私有的 CA 机构(拓展)
  3. Old Bill(上海交通大学复试上机题)
  4. Word:字符横式分数转换为竖式分数
  5. 遥感在农业方面的应用_来源价格天地公众号
  6. MySQL数据通过SQL查询指定数据表的字段名及字段备注
  7. 深度学习多卡配置_组装机(多显卡)配置小贴士/深度学习主机
  8. java重写和重载 关键字_Java重写和重载的区别
  9. 机器学习中的数学——RMSProp
  10. async之诗句慢慢出现