周董新歌搞崩QQ,抓取20W评论看看歌迷在说啥

9 月 16 日晚间,周董在朋友圈发布了最新单曲《说好不哭》python

发布后,真的让一波人哭了数据库

一群想抢鲜听的小伙伴直接泪奔json

由于 QQ 音乐直接被搞崩了segmentfault

<!--more-->app

没想到干翻 QQ 音乐的不是网易云音乐工具

也不是虾米音乐测试

而是周董!url

周董成成功地凭一己之力干翻了 QQ 音乐spa

那么听过周董新歌后的小伙伴都是怎么评价的呢?code

这里,咱们获取了 QQ 音乐的近 20W 条评论数据进行分析

看看其中有哪些有趣的东西

1、数据获取

一、请求分析

在 QQ 网页版直接搜索『说好不哭』

很容易就能找到单曲页面

说好不哭

拉到页面最下方

能够看到评论的分页查看按钮

分页查看

按下 F12 点击第二页

在请求流中就能够看到对应的请求

评论请求

其中能够看到两个重要参数:pagenumpagesize

将请求 copy 到 Postman 中进行测试

Postman测试

发现能够直接获取到数据

连 Header 都不须要添加

这里尝试对请求参数进行了精简

最终只须要以下几个参数便可

参数精简

从 Postman 中能够直接获取到对应的代码

import requests

url = "https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg"

querystring = {"biztype":"1","topid":"237773700","cmd":"8","pagenum":"1","pagesize":"25"}

response = requests.request("GET", url, params=querystring)

print(response.text)

这里是单页评论的获取

全部评论的获取只需递增 pagenum 便可

二、数据解析

返回数据中有不少暂时不须要的字段

这里咱们只取其中的用户名、评论时间、评论内容、点赞数

对应以下字段

{
    "nick": "丨那壹刻永遠消失\"\"",
    "praisenum": 1,
    "rootcommentcontent": "越听越好听怎么回事!",
    "time": 1568729836,
}

因为数据量较大
这里咱们暂时将数据存放在 Excel 中

一来无须依赖外部数据库

二来可使用 Excel 对数据进行二次处理

数据存储代码以下:

def file_do(list_info, file_name):
    # 获取文件大小
    if not os.path.exists(file_name):
        wb = openpyxl.Workbook()
        page = wb.active
        page.title = 'jay'
        page.append(['昵称','时间','点赞数','评论'])
    else:
        wb = openpyxl.load_workbook(file_name)
        page = wb.active
    for info in list_info:
        try:
            page.append(info)
        except Exception:
            print(info)
    wb.save(filename=file_name)

2、数据可视化

一、各时段的评论数

首先咱们对评论按小时区间进行汇总

因为时间粒度比较小,这里对时间粒度进行了一些处理

评价人数走势图

周董的新曲是在 9.16 号 23 点准时发布的

能够看出在发布后的一个小时内(23:00-24:00)

评论数量达到了高峰

占了总评论数的一半以上

另外看了一眼 9.16 23 点以前的评论也颇有意思

一种搬好小板凳嗑着瓜子坐等的既视感

二、你们都在说什么

词云生成的方法有不少

能够用代码生成

也能够用一些在线工具

这里我就使用了在线词云工具:wordart

后续能够给你们单独再普及一下

生成效果以下

词云

周杰伦、杰伦字眼很明显

还有大量跑来『打卡』的

『好听』、『来了』、『哭了』、『爱了』

其中少不了的还有『青春』

另外『阿信』的出现估计给了不少人惊喜

三、你们都点赞了哪些评论

咱们以点赞数对评论进行了排序

排名靠前的评论是以下一些

评论排名

另外,QQ 音乐官方也会放出精彩评论

热心网友昀恺丶

凉城

蜗牛..

对比下能够看出和咱们获取到的数据是比较一致的

只不过官方并非按点赞个数进行排名的

看得出来这些排名靠前的大都是在回忆青春

这些评论之因此可以获得你们的共鸣

也许他们的青春里都有一个周杰伦吧

你的关注是对我最大的鼓励!

关注本公众号,后台回复「2018」便可获取传智播客 2018 最新 Python 和 Java 教程。

公众号提供CSDN资源免费下载服务!

相关文章
相关标签/搜索