
爬取了陳奕迅新歌《我們》10萬條評論數據發現:原來,有些人只適合遇見
最近就有一部“懷舊”題材的電影,未播先火,那就是劉若英的處女作——《后來的我們》。青春,愛情,夢想,一直是“懷舊”題材的核心要素,雖然電影現在還未上映,但先行發布的主題曲《我們》,已經虐哭了不少人。在MV里,歌聲清清淺淺,訴說著那些年關于愛情里的遺憾。
“我最大的遺憾,就是你的遺憾,與我有關”,下面就和小燈塔一起來感受一下吧。
這首歌是《后來的我們》中的主題曲,網易云音樂上線當天便席卷千萬+播放量,現如今光是網易云上面的評論就馬上突破了10萬條。
網易云音樂一直是我向往的“神壇”,聽音樂看到走心的評論的那一刻,高山流水。于是今天我們來抓取一下歌曲的熱門評論。并做成圖表、詞云來展示,看看相對于這首歌最讓人有感受的評論內容是什么。
1
抓數據
要想做成詞云圖表,首先得有數據才行。于是需要一點點的爬蟲技巧。
基本思路為:抓包分析、加密信息處理、抓取熱門評論信息
抓包分析
我們首先用瀏覽器打開網易云音樂的網頁版,進入陳奕迅《我們》歌曲頁面,可以看到下面有評論。接著F12進入開發者控制臺(審查元素)。
接下來就要做的是,找到歌曲評論對應的url,并分析驗證其數據跟網頁現實的數據是否吻合,步驟如下圖:
通過歌曲id輕松找到評論所在的鏈接
查看hreaders的信息,發現瀏覽器使用的是POST的方式進行的請求
具體字段如上圖,會發現表單中需要填兩個數據,名稱為params和encSecKey。后面緊跟的是一大串字符,換幾首歌會發現,每首歌的params和encSecKey都是不一樣的,因此,這兩個數據可能經過一個特定的算法進行加密過的
服務器返回的和評論相關的數據為json格式的,里面含有非常豐富的信息(比如有關評論者的信息,評論日期,點贊數,評論內容等等),其中hotComments就是我們要找的熱門評論,總共15條
那我們的思路就很清晰了,只需要分析這個api并模擬發送請求,獲取json進行解析就好了。
加密信息處理
然后經過我的測試,直接把瀏覽器上這倆數據拿過來就可以。但是要想真正的解決這個加密處理,還需要有點加解密的只是存儲。關于這兩個參數如何解密,強大的知乎上其實已經有答案的了,感興趣的朋友可以進去看一下
https://www.zhihu.com/question/36081767
我們在這里就只需要用我們這種偷懶的辦法就可以完成需求了。這里我就使用這么個臨時的方法好了,而且對于不同的歌曲是可以重用的,待會我們可以驗證一下。
抓取熱門評論信息
代碼塊如下:
import requestsimport jsonurl = 'http://music.163.com/weapi/v1/resource/comments/R_SO_4_551816010?csrf_token=568cec564ccadb5f1b29311ece2288f1'headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36', 'Referer':'http://music.163.com/song?id=551816010', 'Origin':'http://music.163.com', 'Host':'music.163.com'}
#加密數據,直接拿過來用
user_data = {
'params': 'vRlMDmFsdQgApSPW3Fuh93jGTi/ZN2hZ2MhdqMB503TZaIWYWujKWM4hAJnKoPdV7vMXi5GZX6iOa1aljfQwxnKsNT+5/uJKuxosmdhdBQxvX/uwXSOVdT+0RFcnSPtv',
'encSecKey': '46fddcef9ca665289ff5a8888aa2d3b0490e94ccffe48332eca2d2a775ee932624afea7e95f321d8565fd9101a8fbc5a9cadbe07daa61a27d18e4eb214ff83ad301255722b154f3c1dd1364570c60e3f003e15515de7c6ede0ca6ca255e8e39788c2f72877f64bc68d29fac51d33103c181cad6b0a297fe13cd55aa67333e3e5'
}
response = requests.post(url,headers=headers,data=user_data)
data = json.loads(response.text)
hotcomments = []
for hotcommment in data['hotComments']:
item = {
'nickname':hotcommment['user']['nickname'],
'content':hotcommment['content'],
'likedCount':hotcommment['likedCount']
}
hotcomments.append(item)
#獲取評論用戶名,內容,以及對應的獲贊數
content_list = [content['content'] for content in hotcomments]
nickname = [content['nickname'] for content in hotcomments]
liked_count = [content['likedCount'] for content in hotcomments]
2
在獲得相關評論數據后,我們將其做成圖表與詞云圖,將讓人看起來更直觀。
接下來需要在自己電腦上安裝需要相關的安裝包: pyecharts(圖表包)、matplotlib(繪圖功能包)、 WordCloud(詞云包)
其中,pyecharts 是一個用于生成 Echarts 圖表的類庫。 Echarts 是百度開源的一個數據可視化 JS 庫,主要用于數據可視化,同時pyecharts 兼容 Python2 和 Python3。安裝非常簡單,只需:
pip install pyecharts
關于WordCloud(詞云包)安裝過程中出現問題,可以看看我之前這篇文章:
https://zhuanlan.zhihu.com/p/33507393
接下來就是代碼的實現:
利用之前獲得評論用戶名和對應的點贊數,將其制作成圖表圖:
from pyecharts import Bar
bar = Bar("熱評中點贊數示例圖")
bar.add( "點贊數",nickname, liked_count, is_stack=True,mark_line=["min", "max"],mark_point=["average"])
bar.render()
由此可以看出,獲得最高贊數(95056)評論是:
@魚大叔Uncle:后來的我,離開了他,永遠的離開了他,十年的感情不過寥寥幾句話。后來的我,嫁給了一個很普通的人,沒有他的浪漫,卻有不一樣的溫暖。
大多數贊數為20000-30000之間,最低都達到7000+,(基本與網頁里評論中數據吻合)。
最后,我們將所有的熱門評論內容,制作成詞云圖展示出來,代碼塊如下:
from wordcloud import WordCloud
import matplotlib.pyplot as plt
content_text = " ".join(content_list)
wordcloud = WordCloud(font_path=r"C:simhei.ttf",max_words=200).generate(content_text)
plt.figure()
plt.imshow(wordcloud,interpolation='bilinear')
plt.axis('off')
plt.show()
結果圖:
從圖中可以看出,很多人感慨,后來只有你我,再無我們。
注明:所有數據,是屬于當時所爬取的數據。
3
后記
曾記得,郭敬明在書里寫,“我們太年輕,以致于都不知道以后的時光,竟然那么長,長得足夠讓我忘記你,足夠讓我重新喜歡一個人,就像當初喜歡你那樣?!?
我們這一生,總是遇到太多的后來。從不懂愛到懂愛,從擁有到珍惜。
所幸是到了最后,無論過了多少年。后來的我們,都在對方身上,學會了如何去愛。
就像陳奕迅在歌里唱的,“有過執著,放下執著”。有些人啊,光是遇見就已經值得了。
我們確實沒有了后來。
就讓后來的我們,慢慢走,別回頭。
不談虧欠,感謝遇見。
只是在下一次遇見愛的時候,我們都要學會更懂得珍惜。
這才是愛的意義,也是我們為什么去愛。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25