前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >周杰伦QQ音乐评论的可视化分析

周杰伦QQ音乐评论的可视化分析

作者头像
朱小五
发布2020-06-04 10:57:21
9740
发布2020-06-04 10:57:21
举报
文章被收录于专栏:凹凸玩数据凹凸玩数据

很多小白不知道学完了python爬虫后,能干什么?这里分享该文作者刚刚学习python后,创作的一篇文章,我感觉还是很有意思的。虽然对那些会的人不难,但是这确实是很好的一种学习思路。

1.数据爬取

python也快学了一个多月了,今天就来分享一下爬取QQ音乐评论的实战例子吧。以周董的《说好不哭》为例:

首先打开QQ音乐,搜索说好不哭。翻到评论区后,使用谷歌浏览器的检查功能,找到Network部分进行抓包,发现评论区的内容是被封装在json中的,如下图所示:

列表中共包含25个元素,也就是一页的评论数为25条。通过分析url可知,pagenum控制着页数,以for循环即可获得多页网址。接下来就通过python来展示具体实现爬取评论的过程:

代码语言:javascript
复制
import requests
import xlwt
import os
import json
os.chdir('..//filepath//')  ##设置工作路径
workbook=xlwt.Workbook(encoding='utf-8')
worksheet=workbook.add_sheet('说好不哭评论')
worksheet.write(0,0,'昵称')
worksheet.write(0,1,'时间')
worksheet.write(0,2,'点赞数')
worksheet.write(0,3,'评论')
n=1
for page in range(0,200):
    print('-'*100)
    url_left='https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?g_tk=792727314&hostUin=0&format=json&inCharset=utf8&outCharset=GB2312¬ice=0&platform=yqq.json&needNewCode=0&cid=205360772&reqtype=2&biztype=1&topid=237773700&cmd=8&needmusiccrit=0'
    url=url_left+'&pagenum='+str(page)+'&pagesize=25'
    headers={'User-agent':'Mozilla/5.0'}
    r=requests.get(url,headers=headers)
    data=json.loads(r.text)
    common_comments=data.get('comment').get('commentlist')
    for i in range(0,len(common_comments)):
        worksheet.write(n,0,common_comments[i].get('nick'))
        worksheet.write(n,1,common_comments[i].get('time'))
        worksheet.write(n,2,common_comments[i].get('praisenum'))
        worksheet.write(n,3,common_comments[i].get('rootcommentcontent'))
        n+=1
    print('第{}页评论爬取完成'.format(str(page)))
    print('-'*100)
workbook.save('common-comments.xls')

这里爬取的是5000条的普通评论,根据同样的分析方法,我们还可以爬取到133条热门评论。最终爬取的数据如下:

热门评论数据:

普通评论数据:

2.可视化分析

拿到数据后就可以进行可视化分析啦...首先我们先来看一下热门评论的点赞数随时间变换的趋势图(这里偷下懒:直接用excel作图的)

不看不知道,一看吓一跳...《说好不哭》是9月17日凌晨正式上线的,可在9月14日凌晨已经有人评论了!而且到目前为止,点赞数最高的三个都是在17号之前发布的..最高的点赞数更是高达6万多!

为啥我写的评论老是上不了热评呢?难道是因为写的太少了?我筛选了点赞量大于500的评论,清洗了一下文字内容,绘制了点赞数与评论长度的散点图:

从图上来看,也并没有呈现出评论长度越长,点赞量越高的趋势嘛。不过,在点赞量高于过万的评论中,明显字数多的评论个数要多一些。

当然啦,点赞数过万的评论毕竟还是少数...我们还是来看下热门评论的整体字数分布:

从图上来看,大部分热门评论的长度还是集中在80左右,还有一部分热门评论的长度集中于280左右;由此可见,想要上热门也不一定非要字数多嘛..

我们再来看看大家喜欢什么时候发评论吧:首先是热门评论的:

时间大部分都集中在晚上11点到第二天的凌晨1点之间,这个时间点大家都守着新歌然后单曲循环吧...哈哈

普通评论的呢?

从晚上6点后,评论数逐渐增多,评论数最多的时间段还是分布在晚上11点至凌晨之间,看来大家都是夜猫子呀...

最后,通过词云图,来看看热门评论与普通评论所涉及的内容会不会有所不同..(推荐大家一个在线生成词语图的工具Wordart)

热门评论的词云图:

除了人名和歌名外,词频较高的词有"青春"、"喜欢"、"MV"、"阿信"、"奶茶"等,看来当时MV中出现阿信,大家还是很欣喜的....

而普通评论呢?

词频较高的词有"喜欢","青春","好听","小姨","唯一"等...令我很疑惑的是,为啥"小姨"的词频这么高???

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 凹凸数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.数据爬取
  • 2.可视化分析
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档