python爬取qq音乐周杰伦_Python爬取20万条评论,告诉你周杰伦为啥弄崩QQ音乐?
作者 | 哈哈浩
責(zé)編 | 伍杏玲
9 月 16 日晚間,周董在朋友圈發(fā)布了最新單曲《說好不哭》。
發(fā)布后,真的讓一波人哭了,一群想搶鮮聽的小伙伴直接淚奔。
因?yàn)?QQ 音樂直接被搞崩了!
沒想到干翻 QQ 音樂的不是網(wǎng)易云音樂,也不是蝦米音樂,而是周董!
周董成成功地憑一己之力干翻了 QQ 音樂!
那么聽過周董新歌后的小伙伴都是怎么評價的呢?
這里,我們獲取了 QQ 音樂的近 20W 條評論數(shù)據(jù)進(jìn)行分析,看看其中有哪些有趣的東西?
數(shù)據(jù)獲取
1、請求分析
在 QQ 網(wǎng)頁版直接搜索『說好不哭』,很容易就能找到單曲頁面:
說好不哭
拉到頁面最下方,可以看到評論的分頁查看按鈕:
分頁查看
按下 F12 點(diǎn)擊第二頁,在請求流中就可以看到對應(yīng)的請求:
評論請求
其中可以看到兩個重要參數(shù):pagenum 和 pagesize。
將請求 copy 到 Postman 中進(jìn)行測試:
Postman測試
發(fā)現(xiàn)可以直接獲取到數(shù)據(jù),連 Header 都不需要添加。這里嘗試對請求參數(shù)進(jìn)行了精簡,最終只需要如下幾個參數(shù)即可:
參數(shù)精簡
從 Postman 中可以直接獲取到對應(yīng)的代碼:
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、數(shù)據(jù)解析
返回?cái)?shù)據(jù)中有很多暫時不需要的字段,這里我們只取其中的用戶名、評論時間、評論內(nèi)容、點(diǎn)贊數(shù)。
對應(yīng)如下字段:
{
"nick":"丨那壹刻永遠(yuǎn)消失\"\"",
"praisenum":1,
"rootcommentcontent":"越聽越好聽怎么回事!",
"time":1568729836,
}
由于數(shù)據(jù)量較大 這里我們暫時將數(shù)據(jù)存放在 Excel 中,一來無須依賴外部數(shù)據(jù)庫,二來可以使用 Excel 對數(shù)據(jù)進(jìn)行二次處理。
數(shù)據(jù)存儲代碼如下:
deffile_do(list_info, file_name):
# 獲取文件大小
ifnotos.path.exists(file_name):
wb = openpyxl.Workbook()
page = wb.active
page.title ='jay'
page.append(['昵稱','時間','點(diǎn)贊數(shù)','評論'])
else:
wb = openpyxl.load_workbook(file_name)
page = wb.active
forinfoinlist_info:
try:
page.append(info)
exceptException:
print(info)
wb.save(filename=file_name)
數(shù)據(jù)可視化
1、各時段的評論數(shù)
首先我們對評論按小時區(qū)間進(jìn)行匯總,由于時間粒度比較小,這里對時間粒度進(jìn)行了一些處理:
評價人數(shù)走勢圖
周董的新曲是在 9.16 號 23 點(diǎn)準(zhǔn)時發(fā)布的。可以看出在發(fā)布后的一個小時內(nèi)(23:00-24:00)評論數(shù)量達(dá)到了高峰,占了總評論數(shù)的一半以上。
另外看了一眼 9.16 23 點(diǎn)之前的評論也很有意思:
一種搬好小板凳嗑著瓜子坐等的既視感
2、大家都在說什么
詞云生成的方法有很多,可以用代碼生成,也可以用一些在線工具。這里我就使用了在線詞云工具:WordArt,生成效果如下:
詞云
周杰倫、杰倫字眼很明顯,還有大量跑來『打卡』的:『好聽』、『來了』、『哭了』、『愛了』,其中少不了的還有『青春』,另外『阿信』的出現(xiàn)估計(jì)給了很多人驚喜。
3、大家都點(diǎn)贊了哪些評論
我們以點(diǎn)贊數(shù)對評論進(jìn)行了排序,排名靠前的評論是如下一些:
評論排名
另外,QQ 音樂官方也會放出精彩評論:
熱心網(wǎng)友昀愷丶
涼城
蝸牛..
對比下可以看出和我們獲取到的數(shù)據(jù)是比較一致的,只不過官方并不是按點(diǎn)贊個數(shù)進(jìn)行排名的,看得出來這些排名靠前的大都是在回憶青春。
這些評論之所以能夠得到大家的共鳴,也許他們的青春里都有一個周杰倫吧。
留言互動:你的青春里有周杰倫嗎?
源碼:https://github.com/hoxis/Python/tree/master/python-web-scraping/qqmusic
聲明:本文系作者投稿,版權(quán)歸作者所有。
【END】
熱 文推 薦
你點(diǎn)的每個“在看”,我都認(rèn)真當(dāng)成了喜歡
總結(jié)
以上是生活随笔為你收集整理的python爬取qq音乐周杰伦_Python爬取20万条评论,告诉你周杰伦为啥弄崩QQ音乐?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 度小满可以申请延期还款吗
- 下一篇: spark 持久化 mysql_Spar