作者:皖渝
原文链接:https://blog.csdn.net/shine4869/article/details/103224427?utm_source=app

1.数据爬取

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

首先打开QQ音乐,搜索说好不哭。翻到评论区后,使用谷歌浏览器的检查功能,找到Network部分进行抓包,发现评论区的内容是被封装在json中的,如下图所示:
列表中共包含25个元素,也就是一页的评论数为25条。通过分析url可知,pagenum控制着页数,以for循环即可获得多页网址。接下来就通过python来展示具体实现爬取评论的过程:

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&notice=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+=1print('第{}页评论爬取完成'.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中出现阿信,大家还是很欣喜的…

而普通评论呢?

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

本期分享就到这为止啦,第一次写博客,还请多多指教~

周杰伦《说好不哭呢》QQ音乐评论的可视化分析相关推荐

  1. QQ音乐评论分布可视化

    公众号复制来的,排版可能不耐看,不要介意哈. ​评论是我几天前爬取的,歌曲是周董的<轨迹>,一开始想使用snownlp作情感分析,但我看了下评论内容,情感倾向很明显,没有分析的必要.这些数 ...

  2. python爬取QQ音乐评论信息

    QQ音乐评论爬取分析 1.随便选个音乐 2. g_tk函数介绍 3. topid 4. python 代码 5. 结果 1.随便选个音乐 https://y.qq.com/n/yqq/song/003 ...

  3. 3天2100万!周杰伦的说好不哭,20万点评Python来分析

    3天2100万!周杰伦的说好不哭,20万点评Python来分析 最近今天,小编被周杰伦的新歌刷屏了,朋友圈纷纷晒出周杰伦的新歌,即便不是周杰伦的歌迷,但是提起他的新歌,想必大家应该都会知道,那就是&l ...

  4. python爬取qq音乐评论_爬虫:QQ音乐评论

    QQ音乐评论 有些小伙伴反馈,对于爬虫的完整流程,还是不清楚,这边就按顺序,给大家梳理一下 反爬 首先查看一下,我们要爬取的网页,是否反爬(各种侵害人家服务器的事情,我们不能干) QQ音乐网址:htt ...

  5. 网易云音乐爬虫 数据可视化分析

    网易云音乐爬虫 & 数据可视化分析 1. 数据爬取 1.1 评论爬取 1.2 用户信息爬取 2 数据清洗 & 可视化 歌评文本分析 个人博客:Archiew's blog 源码:htt ...

  6. 【十三香吗?】网易严选-苹果12商品评论数据可视化分析

    苹果手机评论数据可视化分析 1. 爬取数据 2. 准备工作 3. 数据预处理 4. 词云可视化 5. 词频可视化 5.1 绘制柱状图 5.2 绘制饼图 6. 评分可视化 6.1 柱状图 6.2 环形图 ...

  7. 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃

    一直以来,在大家眼里,只有微博服务器是"不堪一击"的,明星结个婚,宣布个恋情,微博都会崩.但昨天晚上,击溃音乐平台服务器的男人出现了. 预热多天后,周杰伦的新歌<说好不哭&g ...

  8. python爬虫基础Ⅱ——Ajax数据爬取、带参请求:QQ音乐歌单、QQ音乐评论

    文章目录 基础爬虫部分Ⅱ Ajax技术 json 1. Network 2. XHR怎么请求? 3. 什么是json? 4. json数据如何解析? 带参数请求 1. 复习 2. params 3. ...

  9. python爬取qq音乐评论_教你用Python爬去QQ音乐评论

    有态度地学习 去年夏天,好像于我而言,重要的事就是毕业来临,从此踏上了搬砖之路,从学校到职场,之间身份的转变,让我又多了一份责任.当然还有一段感情经历,现在回头去看,只能说且行且珍惜,或许以后未必能再 ...

最新文章

  1. 经典智力面试题:一家人过桥
  2. Xamarin Anroid开发教程之Anroid开发工具及应用介绍
  3. 重载内核全程分析笔记
  4. Python 一个判断对象是否是一个已知类型的函数-isinstance()
  5. CSDN Markdown 博客如何设置插入代码背景颜色(设置成黑色)?
  6. php开启与关闭错误提示
  7. Hibernate中的JPA 2.1条件删除/更新和临时表
  8. QT的常用对话框的应用
  9. mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库
  10. 看完这篇,你的老电脑能够快到起飞再也不卡!
  11. 利用反射和lambda获取变量名字
  12. esp8266教程:编译sdk常用命令
  13. Redis雪崩效应的解决方案(转)
  14. 石墨烯在生物医学上应用的研究进展_石墨烯在润滑油中的应用
  15. C语言的结构化程序设计
  16. python系列11:python的游戏引擎
  17. E: 无法定位软件包 mjepgtools
  18. 调焦后焦实现不同距离成像_相机的“对焦”和“变焦”,这二者有什么区别?...
  19. rsa public key not find
  20. Frequency Estimation Heavy Hitter under Local Differential Privacy的一些重要组件

热门文章

  1. 使用spoon(kettle)工具抽取Elasticsearch的数据并入库
  2. 面向2022届毕业生-自动驾驶/SLAM/DL/C++ 岗位收集整理
  3. python numpy 行 列个数_Python 用 numpy 随机抽样选择矩阵的多行或多列
  4. Vue路由重复点击报错解决
  5. 类图,类与类之间的关系
  6. 拖延症究竟是个什么东西?
  7. Mac 的brew 换源
  8. 我对响应式编程中Mono和Flux的理解
  9. SEED(1)-实验环境搭建
  10. ZOJ 3380 Patchouli's Spell Cards( 概率DP)