您的位置:首页 > 其它

爬取周杰伦新歌《说好不哭》的所有评论,然后生成词云图

2021-01-01 20:54 204 查看

前两天

周杰伦发了新歌


说好不哭


顿时间就刷屏了



周杰伦

是一个时代的符号

是我们的青春



早些天

小帅b听周杰伦的歌

还湿润了眼眶了呢







那时候我们唱 k
周董的歌是必点的

他的电影《不能说的秘密》就刷了好几遍

这次的新歌MV 很 nice 啊





特别是里面的女主
上网搜了一下她的照片






小帅b瞬间就爱了啊

刚看了下qq音乐的评论





2500+ 的评论小帅b不禁好奇

这些评论都在说写什么呢

要不然就把它们爬下来
搞个词云图看看吧

接下来就是学习 python 的正确姿势

首先我们来分析一下这个网页


打开控制面板






我们点击下一页
发起请求





发现了一个 comment 的请求
点击进去






咦~这不就是评论的数据嘛

再具体看下 json 数据
原来评论的数据是被封装到 comment 对象下的commentlist 数组了






再来看看是怎么请求的吧
点击 Headers





哇靠请求链接这么长


看看请求参数





看来看去
主要就 pagenum 和 lasthostcommentid 在变

pagenum 一看就是页码
请求第一页的 pagenum 是 0
第二页是 1

lasthostcommentid 则是上一页请求的最后一条评论id





用 Python 8000 来模拟请求一下吧


前方高能

这么多请求参数
我可不想一个键值一个键值的复制粘贴

复制一下 cURL







然后打开我之前说的


postman





点击 Import 按钮
接着选择Past Raw Text

然后
把刚刚复制的 cURL 粘贴进去





点击 Import






点击 Send





可以看到评论数据返回了

接下来骚操作了点击 Code





此时会出现一个面板
选择
Python Requests






直接一键生成
Python请求代码






太太太太TM爽了


有了这么方便的请求代码爬取数据到 txt 文件不是
so easy 么

简单撸下代码把评论数据都爬下来


先直接把刚才生成的请求代码复制过来





创建一个文件用来存放评论数据





来个 for 循环请求每一页的数据






在每一次请求的时候

还要拿到最后一条评论的 id

作为下次请求的参数







我们知道
评论数据被封装在 json 数组里面
所以可以循环获取一下然后写到文件里面去

不过有些评论数据含有表情啥的
需要把它们顺便给替换掉







写完之后把文件给关了






跑一下吧






完事之后 jay.txt 就有所有的评论了





有了数据之后
咱们就可以生成词云了

准备个字体文件





准备张背景颜色图片





打开






因为中文
结巴分词整起




接着就可以使用
 wordcloud 搞事情了






最后我们使用
pyplot 来 show 一下吧





运行一波
词云出来




可以看到

说好不哭假面骑士

出现的频率最高



假面骑士说得是 mv 里的男主

其中的“自己”、“努力”、“人生”

也是能量满满



小帅b

谨以此篇

致敬周杰伦

以及我们的青春



下回见

peace


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐