Python 词云分析周杰伦新歌《说好不哭》

周杰伦难得出新歌 ,最近终于推出了单曲《说好不哭》,然后直接把QQ音乐服务器干崩了,天王的实力可见一斑,QQ音乐还把这个当作 今天过年

看我公众号头像就知道是杰伦粉了 ,高中的时候开始喜欢上了他的歌,一晃都这么多年了,我整理了他所有的歌曲和部分电影/演唱会视频,可以在公众号回复 周杰伦 获取,2个多小时的2004 无与伦比演唱会看了n遍。

还做了个杰伦的个人PPT https://sushengbuhuo.gitee.io/blog/jay/#/start,文末点击阅读原文查看,在pc上使用空格或者方向键来查看PPT。![](https://oscimg.oschina.net/oscnet/b9a2a132638658fd0b6d60465470bca1051.png)![](https://oscimg.oschina.net/oscnet/87301ee81e7fac8a62d629b933e46a88ea8.jpg)

下面开始用词云来分析杰伦这首歌都写的什么内容。

词云

词云,又称文字云,由词汇组成类似云的彩色图形,用于展示大量文本数据,就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”,从而过滤掉大量的文本信息,使浏览者只要一眼扫过文本就可以领略文本的主旨。

歌词

先看看这首歌的歌词,在QQ 音乐上可以找到https://y.qq.com/n/yqq/song/001qvvgF38HVc4.html

先把歌词保存到文件 no_cry.txt ,然后用Python的wordcloud来分析 。

wordcloud

wordcloud 是Python的一个扩展包,直接使用pip install wordcloud来安装。https://github.com/amueller/word\_cloud

from PIL import Image

保存到本地的文件 no_cry.jpg图片效果:

改变下尺寸效果

接着看看这首歌的主要关键词

s = SnowNLP(mytext)

关键词如下:

['我都是听别人说', '不习惯一个人生活', '不习惯一个人生活', '说好不哭让我走', '说好不哭让我走', '都这个

然后加个白色背景

def handle(textfile, stopword):

效果图

wordcloud_cli

如果你不想写代码 ,可以直接用命令行工具wordcloud_cli  , https://amueller.github.io/word\_cloud/cli.html  可以看看命令行参数

直接执行 wordcloud_cli --text no_cry.txt --imagefile no_cry.jpg --mask ye.jpg --fontfile c:\windos\fonts\simhei.ttf,生成图片效果

下面再以周杰伦于2003年发行的专辑《叶惠美》为例,共收录了11首歌曲

百科地址https://baike.baidu.com/item/%E5%8F%B6%E6%83%A0%E7%BE%8E/893 近600行歌词,保存到文件 jay.txt

效果图:

这张专辑的主要关键词

['微笑 东风破 乒乓 弹奏 我们 骄傲 睫毛 不想 一曲 好难 得到 走过 琵琶 一天 天空 多强 画面 嘴角 到底 一直

如果你不会代码怎么生成词云呢,有许多对应的网站。

wordart

一个在线生成词云的网站 https://wordart.com/create 将文字导入进去

然后上传中文字体,否则乱码,效果如图:

国内也有对应的 http://cloud.niucodata.com/,将歌词复制进去,点击下方的导出图片,效果如下![](https://oscimg.oschina.net/oscnet/f744ee67d41c8c2d8f523d732a48ba333f4.png)

公众号词云

这是新榜针对公众号文章的词云分析工具,可以免费使用https://data.newrank.cn/wordCloud.html ,比如我的公众号文章词云图

推荐阅读:

如何发一条空白的朋友圈

那些在国内还能使用的谷歌产品

那些你可能不知道的微信奇技淫巧

如何在豆瓣租房小组快速找到满意的房子

公众号苏生不惑原创文章整理

Chrome 浏览器扩展神器油猴

公众号:苏生不惑

扫描二维码关注

本文分享自微信公众号 - 苏生不惑(susheng_buhuo)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Python 词云分析周杰伦新歌《说好不哭》 - HelloWorld