Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

welchang發表於2021-09-11

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

9 月 16 日晚間,周董在朋友圈釋出了最新單曲《說好不哭》

釋出後,真的讓一波人哭了

一群想搶鮮聽的小夥伴直接淚奔

因為 QQ 音樂直接被搞崩了

沒想到幹翻 QQ 音樂的不是網易雲音樂

也不是蝦米音樂

而是周董!

周董成功地憑一己之力幹翻了 QQ 音樂

那麼聽過周董新歌后的小夥伴都是怎麼評價的呢?

這裡,我們獲取了 QQ 音樂的近 20W 條評論資料進行分析

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

相關推薦:《》

一、資料獲取

1、請求分析

在 QQ 網頁版直接搜尋『說好不哭』

很容易就能找到單曲頁面

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

拉到頁面最下方

可以看到評論的分頁檢視按鈕

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

按下 F12 點選第二頁

在請求流中就可以看到對應的請求

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

其中可以看到兩個重要引數:pagenum 和 pagesize

將請求 copy 到 Postman 中進行測試

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

發現可以直接獲取到資料

連 Header 都不需要新增

這裡嘗試對請求引數進行了精簡

最終只需要如下幾個引數即可

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

從 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 即可

2、資料解析

返回資料中有很多暫時不需要的欄位

這裡我們只取其中的使用者名稱、評論時間、評論內容、點贊數

對應如下欄位:

{
    "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)

二、資料視覺化

1、各時段的評論數

首先我們對評論按小時區間進行彙總

由於時間粒度比較小,這裡對時間粒度進行了一些處理

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

周董的新曲是在 9.16 號 23 點準時釋出的

可以看出在釋出後的一個小時內(23:00-24:00)

評論數量達到了高峰

佔了總評論數的一半以上

另外看了一眼 9.16 23 點之前的評論也很有意思

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

一種搬好小板凳嗑著瓜子坐等的既視感

2、大家都在說什麼

詞雲生成的方法有很多

可以用程式碼生成

也可以用一些線上工具

這裡我就使用了線上詞雲工具:wordart

後續可以給大家單獨再普及一下

生成效果如下:

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

周杰倫、杰倫字眼很明顯

還有大量跑來『打卡』的

『好聽』、『來了』、『哭了』、『愛了』

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

另外『阿信』的出現估計給了很多人驚喜

3、大家都點讚了哪些評論

我們以點贊數對評論進行了排序

排名靠前的評論是如下一些

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

另外,QQ 音樂官方也會放出精彩評論

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法Python爬蟲帶你瞭解網友們對周董新歌《說好不哭》的看法

對比下可以看出和我們獲取到的資料是比較一致的

只不過官方並不是按點贊個數進行排名的

看得出來這些排名靠前的大都是在回憶青春

這些評論之所以能夠得到大家的共鳴

也許他們的青春裡都有一個周杰倫吧

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4830/viewspace-2836266/,如需轉載,請註明出處,否則將追究法律責任。

相關文章