【项目预览】
【创作背景】
可能因为我的名字叫云云,我一直对词云图情有独钟。曾经找到过一个网站,免费生成各式各样的词云图(https://wordart.com/),我玩的废寝忘食。但这是一个外国网站,是针对英文设计的,无法进行中文分词(即把句子拆分成词语,英文不存在这个问题,英文原本就是用空格隔开的单词构成的)。如果要手动进行中文分词,工作量之大让人望而生畏。
学了python之后,我找到了结巴分词器,“把我写的文章画成图”的想法又蠢蠢欲动起来。
一开始,我只会简单调用结巴分词器,输入一段文字,分词,然后复制分好的词,粘贴到刚才提到的词云图网站,让网站给我画图。虽然可行,但略显麻烦,而且网站能接受的输入文本大小有限:一次粘贴太多,就装不下了。
后来,等我跟着课程一路学完了爬虫,数据分析,又重新想起这个项目的时候,我发现我自己已经有能力做出“一条龙服务”的程序了!
【功能设想】
这个项目的功能我是一边做一边完善的。
版本1.0:我把“爬歌词”和“绘制词云图”组合起来,画出指定歌曲的词云图。这个图可以用来在搞团建的时候做游戏:展示图片,大家猜歌名。
版本2.0:我把“爬歌手评论”和“绘制词云图”结合起来,画出了指定歌手的热评词云图。如果说爬歌词只具有娱乐意义,那么爬评论,就有舆情调查的味道了。
版本3.0:我一口气爬了9个我喜欢的歌手的评论,画了9张图,然后发现:这些图里最大的词(频次最高的词)居然都是一样的:
“有时候,我们喜欢一个自己,就是因为知道真的不是什么”(噗哈哈哈哈,这些词造句还挺喜感的)
每个歌手的热评词云图都被这几个最热的公共热词撑满了,这样画出来的图,似乎意义也不大。于是我想:减掉公共热词,找出每个歌手的独特热词吧!这样,应该能找出该歌手在歌迷心中的特点。于是,这个项目被命名为:寻找独特词。
【功能实现】
1,【爬虫】爬歌曲评论,生成指定歌手的热门歌曲评论txt(每个歌手我爬了50首歌,每首歌20条最热门的评论)。
2,【Jieba, Pandas】打开txt文件,用结巴分词器分词,用pandas分类汇总+排序,制成该歌手评论热词的词频excel。
3,【pandas】将9个歌手的词频excel合并,找出公共热词。为方便以后使用,制成公共热词excel:《zong.xlsx》。
4,【pandas】用每个人的词频库减去公共热词,得到每个歌手的独特词词频。
5,【WordCloud】画独特词词云图。
【完工感受】
这个项目做完我感觉我厉害极了,自我成就感爆棚。然后我开始在CSDN上面到处晃荡,发现了无穷无尽的有趣的项目。。。我决定,我也开个博客,把我的编程生涯里有趣的项目记录下来。
最后,学无止境!
【完整代码】
(此代码用到了zong.xlsx文件。此文件一共就2列,你可以自己建一个。)
词语 | 总频次 |
喜欢 | 4619 |
我们 | 4531 |
一个 | 4389 |
自己 |