自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我分析了10萬條陳奕迅新歌《我們》的熱門評(píng)論,竟發(fā)現(xiàn)這么一個(gè)秘密

新聞
我們?cè)谶@里就只需要用我們這種偷懶的辦法就可以完成需求了。這里我就使用這么個(gè)臨時(shí)的方法好了,而且對(duì)于不同的歌曲是可以重用的,待會(huì)我們可以驗(yàn)證一下。

最近有一部“懷舊”題材的電影,未播先火,那就是劉若英的處女作——《后來的我們》。

[[226179]]

青春,愛情,夢(mèng)想,一直是“懷舊”題材的核心要素,雖然電影現(xiàn)在還未上映,但先行發(fā)布的主題曲《我們》,已經(jīng)虐哭了不少人。在 MV 里,歌聲清清淺淺,訴說著那些年關(guān)于愛情里的遺憾。

“我最大的遺憾,就是你的遺憾,與我有關(guān)”,下面就一起來感受一下吧。

這首歌是《后來的我們》中的主題曲,網(wǎng)易云音樂上線當(dāng)天便席卷千萬+播放量,現(xiàn)如今光是網(wǎng)易云上面的評(píng)論就馬上突破了 10 萬條。

網(wǎng)易云音樂一直是我們向往的“神壇“,聽音樂看到走心的評(píng)論的那一刻,高山流水遇知音。

于是本文作者抓取了這首歌曲的熱門評(píng)論,并做成圖表、詞云來展示,看看相對(duì)于這首歌最讓人有感受的評(píng)論內(nèi)容是什么。

抓數(shù)據(jù)

要想做成詞云圖表,首先得有數(shù)據(jù)才行,這里需要一點(diǎn)點(diǎn)的爬蟲技巧。

基本思路為:

  • 抓包分析
  • 加密信息處理
  • 抓取熱門評(píng)論信息

抓包分析

我們首先用瀏覽器打開網(wǎng)易云音樂的網(wǎng)頁版,進(jìn)入陳奕迅《我們》歌曲頁面,可以看到下面有評(píng)論。接著 F12 進(jìn)入開發(fā)者控制臺(tái)(審查元素)。

下面要做的是,找到歌曲評(píng)論對(duì)應(yīng)的 url,并分析驗(yàn)證其數(shù)據(jù)跟網(wǎng)頁現(xiàn)實(shí)的數(shù)據(jù)是否吻合,步驟如下圖:

通過歌曲 id 輕松找到評(píng)論所在的鏈接

查看 hreaders 的信息,發(fā)現(xiàn)瀏覽器使用的是 POST 的方式進(jìn)行的請(qǐng)求

具體字段如上圖,會(huì)發(fā)現(xiàn)表單中需要填兩個(gè)數(shù)據(jù),名稱為 params 和 encSecKey。

后面緊跟的是一大串字符,換幾首歌會(huì)發(fā)現(xiàn),每首歌的 params 和 encSecKey 都是不一樣的。因此,這兩個(gè)數(shù)據(jù)可能是經(jīng)過一個(gè)特定的算法進(jìn)行加密過的。

服務(wù)器返回的和評(píng)論相關(guān)的數(shù)據(jù)為 json 格式,里面含有非常豐富的信息(比如有關(guān)評(píng)論者的信息,評(píng)論日期,點(diǎn)贊數(shù),評(píng)論內(nèi)容等等),其中 hotComments 就是我們要找的熱門評(píng)論,總共 15 條。

那我們的思路就很清晰了,只需要分析這個(gè) api 并模擬發(fā)送請(qǐng)求,獲取 json 進(jìn)行解析就好了。

加密信息處理

經(jīng)過我的測(cè)試,直接把瀏覽器上這倆數(shù)據(jù)拿過來就可以。但是要想真正的解決這個(gè)加密處理,還需要有點(diǎn)加解密的只是存儲(chǔ)。

關(guān)于這兩個(gè)參數(shù)如何解密,強(qiáng)大的知乎上其實(shí)已經(jīng)有了答案的,感興趣的朋友可以進(jìn)去看一下:《如何爬網(wǎng)易云音樂的評(píng)論數(shù)?》https://www.zhihu.com/question/36081767

我們?cè)谶@里就只需要用我們這種偷懶的辦法就可以完成需求了。這里我就使用這么個(gè)臨時(shí)的方法好了,而且對(duì)于不同的歌曲是可以重用的,待會(huì)我們可以驗(yàn)證一下。

抓取熱門評(píng)論信息

代碼塊如下:

  1. import requests 
  2. import json 
  3.  
  4. url = 'http://music.163.com/weapi/v1/resource/comments/R_SO_4_551816010?csrf_token=568cec564ccadb5f1b29311ece2288f1' 
  5.  
  6. headers = { 
  7.    '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'
  8.    'Referer':'http://music.163.com/song?id=551816010'
  9.    'Origin':'http://music.163.com'
  10.    'Host':'music.163.com' 
  11. #加密數(shù)據(jù),直接拿過來用 
  12. user_data = { 
  13.    'params''vRlMDmFsdQgApSPW3Fuh93jGTi/ZN2hZ2MhdqMB503TZaIWYWujKWM4hAJnKoPdV7vMXi5GZX6iOa1aljfQwxnKsNT+5/uJKuxosmdhdBQxvX/uwXSOVdT+0RFcnSPtv'
  14.    'encSecKey''46fddcef9ca665289ff5a8888aa2d3b0490e94ccffe48332eca2d2a775ee932624afea7e95f321d8565fd9101a8fbc5a9cadbe07daa61a27d18e4eb214ff83ad301255722b154f3c1dd1364570c60e3f003e15515de7c6ede0ca6ca255e8e39788c2f72877f64bc68d29fac51d33103c181cad6b0a297fe13cd55aa67333e3e5' 
  15.  
  16. response = requests.post(url,headers=headers,data=user_data) 
  17.  
  18. data = json.loads(response.text) 
  19. hotcomments = [] 
  20. for hotcommment in data['hotComments']: 
  21.    item = { 
  22.        'nickname':hotcommment['user']['nickname'], 
  23.        'content':hotcommment['content'], 
  24.        'likedCount':hotcommment['likedCount']      
  25.    } 
  26.    hotcomments.append(item) 
  27.  
  28. #獲取評(píng)論用戶名,內(nèi)容,以及對(duì)應(yīng)的獲贊數(shù)    
  29. content_list = [content['content'for content in hotcomments] 
  30. nickname = [content['nickname'for content in hotcomments] 
  31. liked_count = [content['likedCount'for content in hotcomments] 

數(shù)據(jù)可視化

在獲得相關(guān)評(píng)論數(shù)據(jù)后,我們將其做成圖表與詞云圖,將讓人看起來更直觀。

接下來需要在自己電腦上安裝需要的安裝包: pyecharts(圖表包)、matplotlib(繪圖功能包)、 WordCloud(詞云包)。其中,pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫。

Echarts 是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫,主要用于數(shù)據(jù)可視化,同時(shí) pyecharts 兼容 Python2 和 Python3。

安裝非常簡(jiǎn)單,只需:

  1. pip install pyecharts 

關(guān)于 WordCloud(詞云包)安裝過程中會(huì)出現(xiàn)的一些問題,我這里總結(jié)了一下分享給大家。

看到別人使用 WordCloud 可以方便地生成云詞圖,在數(shù)據(jù)可視化的方面會(huì)給我們帶來很多便利。然而實(shí)際操作起來才發(fā)現(xiàn),初學(xué)者還是容易遇到很多坑。

說明:已安裝(Python 3.6.1)、系統(tǒng)為Windows 7

安裝文件的獲取

首先,按 win+r,輸入 cmd,如下圖:

然后,輸入如下代碼:

  1. pip install wordcloud 

結(jié)果呢?會(huì)報(bào)錯(cuò)的,會(huì)有文件缺失的問題。這一點(diǎn)不少人都有類似反饋。

于是在官網(wǎng),看到這么一張圖,靈機(jī)一動(dòng):

解決方案:在 Github 下載 WordCloud 的包,解壓縮后,在對(duì)應(yīng)目錄下用 python setup.py install 安裝。

操作如下圖,進(jìn)入剛才解壓后的文件夾中,同時(shí)按住 shift+ 鼠標(biāo)右鍵,啟動(dòng) cmd。

安裝 WordCloud 時(shí)出現(xiàn)報(bào)錯(cuò)信息:error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools

這種情況下,直接跟著提示內(nèi)容進(jìn)行就好。

解決方案:打開報(bào)錯(cuò)提示中的鏈接,下載并安裝 Visual C++ 2015 Build Tools。

安裝完 WordCloud 后,接下來就是代碼的實(shí)現(xiàn),利用之前獲得評(píng)論用戶名和對(duì)應(yīng)的點(diǎn)贊數(shù),將其制作成圖表圖:

  1. from pyecharts import Bar 
  2.  
  3. bar = Bar("熱評(píng)中點(diǎn)贊數(shù)示例圖"
  4. bar.add"點(diǎn)贊數(shù)",nickname, liked_count, is_stack=True,mark_line=["min""max"],mark_point=["average"]) 
  5. bar.render() 

由此可以看出,獲得最高贊數(shù)(95056)評(píng)論的是:

@魚大叔Uncle:后來的我,離開了他,永遠(yuǎn)的離開了他,十年的感情不過寥寥幾句話。后來的我,嫁給了一個(gè)很普通的人,沒有他的浪漫,卻有不一樣的溫暖。

大多數(shù)贊數(shù)為 20000-30000 之間,最低都達(dá)到 7000+,(基本與網(wǎng)頁里評(píng)論中數(shù)據(jù)吻合)。

最后,我們將所有的熱門評(píng)論內(nèi)容,制作成詞云圖展示出來,代碼塊如下:

  1. from wordcloud import WordCloud 
  2. import matplotlib.pyplot as plt 
  3.  
  4. content_text = " ".join(content_list) 
  5. wordcloud = WordCloud(font_path=r"C:\simhei.ttf",max_words=200).generate(content_text) 
  6. plt.figure() 
  7. plt.imshow(wordcloud,interpolation='bilinear'
  8. plt.axis('off'
  9. plt.show() 

詞云分析結(jié)果圖如下:

從圖中可以看出,很多人感慨,后來只有你我,再無我們。(注明:所有數(shù)據(jù),是屬于當(dāng)時(shí)所爬取的數(shù)據(jù))

后記

曾記得,郭敬明在書里寫,“我們太年輕,以致于都不知道以后的時(shí)光,竟然那么長(zhǎng),長(zhǎng)得足夠讓我忘記你,足夠讓我重新喜歡一個(gè)人,就像當(dāng)初喜歡你那樣。”

我們這一生,總是遇到太多的后來。從不懂愛到懂愛,從擁有到珍惜。

所幸是到了最后,無論過了多少年。后來的我們,都在對(duì)方身上,學(xué)會(huì)了如何去愛。

[[226185]]

就像陳奕迅在歌里唱的,“有過執(zhí)著,放下執(zhí)著”。有些人啊,光是遇見就已經(jīng)值得了。

我們確實(shí)沒有了后來。

就讓后來的我們,慢慢走,別回頭。

不談虧欠,感謝遇見。

只是在下一次遇見愛的時(shí)候,我們都要學(xué)會(huì)更懂得珍惜。

這才是愛的意義,也是我們?yōu)槭裁慈邸?/p>

責(zé)任編輯:武曉燕 來源: 知乎
相關(guān)推薦

2020-08-04 08:48:34

數(shù)據(jù)彈屏技術(shù)

2021-07-12 05:00:54

python道路數(shù)據(jù)

2020-05-16 13:25:03

分析網(wǎng)購(gòu)數(shù)據(jù)

2018-03-07 09:35:08

Python淘寶數(shù)據(jù)

2021-10-29 11:45:26

Python代碼Python 3.

2017-07-24 10:58:53

碼農(nóng)技能計(jì)算機(jī)

2024-09-26 15:31:28

2018-06-11 08:20:42

微博評(píng)論菊姐

2021-04-22 07:47:47

JavaJDKMYSQL

2022-11-30 09:18:51

JavaMyBatisMQ

2021-08-18 15:49:10

FBI恐怖分子信息泄露

2017-07-22 22:11:36

數(shù)據(jù)丟失操作

2023-08-17 16:07:16

模型優(yōu)化

2018-05-03 18:19:18

python爬蟲微信好友

2022-06-20 08:01:56

Kafka服務(wù)器數(shù)據(jù)量

2023-04-17 14:08:31

微信數(shù)據(jù)訓(xùn)練信息

2018-08-01 09:50:47

數(shù)據(jù)吃雞采集

2017-08-21 10:05:57

Python影評(píng) 爬蟲

2022-04-06 08:47:03

Dubbo服務(wù)協(xié)議

2019-05-07 18:45:21

崩潰應(yīng)用程序Android
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)