1. 程式人生 > >Python 爬取愛奇藝視訊二十五萬條資料分析為什麼李誕不值得了?

Python 爬取愛奇藝視訊二十五萬條資料分析為什麼李誕不值得了?

 

在《 Python 爬取愛奇藝 52432 條資料分析誰才是《奇葩說》的焦點人物? )》這篇文章中,我們從愛奇藝爬取了 5 萬多條評論資料,並對一些關鍵資料進行了分析,由此總結出了一些明面上看不到的資料,並將其直觀地展現了出來,資料分析的妙處即在於此。

最終,我們從《奇葩說》的詞雲圖中得出了李誕是為焦點人物的結論。但有小夥伴留言說道:“李誕是焦點人物,但那都是在罵他的”,看到這個筆者突然意識到,說著“人間不值得”的李誕《吐槽大會》開始聲名鵲起,一方面是入了娛樂圈已成明星,卻也飽受非議,作為《吐槽大會》第三季和《奇葩說》第五季的關鍵人物,我們是不是可以進行情感分析,從數萬條的使用者評論裡找出廣大觀眾眼中的李誕,以及主打辯論的奇葩說和以“吐槽文化”為切入點的《吐槽大會》的異同之處?

一、如何進行情感分析?

文字情感分析,又稱為意見挖掘、傾向性分析等。簡單而言,是對帶有情感色彩的主觀性文字進行分析、處理、歸納和推理的過程。

奇葩說的評論資訊表達了人們的各種情感色彩和情感傾向性,通過對他們進行分析來了解大從輿論的看法。

在這裡,我們使用 “ SnowNLP ” 進行分詞和情感分析。

二、奇葩說的情感分析資料

注:本文中使用的奇葩說資料是上篇文章爬取的資料,資料檔案地址: https://github.com/Pinned/ICanIBBData/blob/master/deal_data.db

先來看一下《奇葩說》的整體情感分析得分資料:

 

從上圖可以看出來,正向情感的評論數要多於負向評論的資料,可見觀眾朋友還是喜歡奇葩說的。

好多人都說李誕是在被人罵,所以筆者在此對評論中包含李誕的資料進行了過濾(作者注:這樣來看不一定準確,但也能從一個角度來看大體的資料情況),做了一下情感分析,先看圖:

 

從這張圖可以看出來,得分 0.5 以下的評論要比 0.5 分的多得多。其實單看李誕的這張圖,對於負向情感評論是多是少沒有直觀的感受。於是,筆者又把剩下出現頻率比較高的薛教授與詹青雲的情感評分畫了兩張圖,對比感受了一下:

 

 

通過這三張圖的對比,感受到不一樣的情感了嗎?薛教授和詹青雲的正向情感要遠高於負向情感,而李誕的正向和負向兩類情感則處於趨同狀態。

詳細程式碼為:

 
def emotionParser(title, *names): conn = conn = sqlite3.connect("deal_data.db") conn.text_factory = str cursor = conn.cursor() likeStr = "" for i in range(0, len(names)): likeStr = likeStr + " or content like \"%" + names[i] + "%\" " if likeStr == "": sql = "select content from realData where content != \"\" " else: sql = "select content from realData where content != \"\" " + likeStr print sql cursor.execute(sql) values = cursor.fetchall() sentimentslist = [] for item in values: content = item[0] senValue = SnowNLP(content.decode("utf-8")).sentiments sentimentslist.append(senValue) print content plt.hist(sentimentslist, bins=np.arange(0, 1, 0.01), facecolor="#4F8CD6") plt.xlabel("Sentiments Probability") plt.ylabel("Quantity") plt.title("Analysis of Sentiments for " + title) plt.show() cursor.close() conn.close() 

觀眾朋友對李誕的負面情感有些高,那對他的評論具體究竟呈現著什麼樣的態勢?接下來我們按如下步驟進行具體分析:

  • 將評論資料中包含李誕、李蛋、蛋蛋的資料單獨查出來;
  • 使用 Jieba 對評論資料分詞;
  • 使用 WordCloud 生成詞雲分析資料生成詞雲圖見下圖,有關程式碼請參考《 Python 爬取愛奇藝 52432 條資料分析誰才是《奇葩說》的焦點人物? 》 。

 

從上面的關鍵詞中可以看出,觀眾對於李誕的情感詞雲偏於負面,譬如“討厭”、“教養”、“禮貌”、“打斷”等。

三、吐槽大會的情感分析

1. 爬取騰訊評論資料

用 Chrome 開啟騰訊視訊,開啟 《吐槽大會》視訊播放,然後開啟 Chrome 檢視原始碼模式,在網路請求裡面搜尋並過濾 comment。通過過濾拿到的請求地址中,你能拿到一個 video_comment_id 的請求,裡面有該期評論的 id。

本次筆者爬取了奇葩說的三季資料,每一期的評論資料的id都是手動去獲取的:sob:

2. 資料分析

從所獲取的 18w+ 的評論資料中,包含李誕的資料條數有多少呢?直接使用 SQL 在資料庫中查詢:

 
select count(*) from dealInfoDatabase where content like "%李誕%" or content like "%李蛋%" or content like "%蛋蛋%" or content like "%誕總%"; 

 

沒有想到的是,在這 18w 的資料中,居然只有 8000 多條資料。畢竟同樣是每一期人員都非常多的綜藝節目,在《奇葩說》5w 多條資料中就有 1w 多條與李誕相關,但結果到李誕成名的《吐槽大會》上卻遠遠不足,值得我們思考。

迴歸正題,我們再來看一下,在每一期的評論數量:

 

在第一季第十期,也就是收官之作裡關注度特別大,應該是有一次不錯的表現。

3. 情感分析

首先來看一下,全部評論資料的整體情感分析,可以看到,整體的正向情感要多於負向情感。

 

再來看看所有評論中,評論詞雲是怎麼分佈的。如下圖,可以看出,很多人都非常喜歡他。

 

再來看一下每一季的資料, 第一季的資料可以看出,正向情感要多於負向情感,更多的觀眾是喜歡他的。

 

筆者也把第二季的資料跑出來,可以看出,正向情感與負向情感趨於持平,是不是表示,討厭他的觀眾數量在增多呢?

 

最後,再來看一下,第三期的評論資料,從圖中可以看出,負向情感要多於正向情感的資料。

 

從上面的情感資料可以看出,《吐槽大會》從第一季到現在的第三季,不喜歡李誕的觀眾數量變得越來越多。

四、結語

在《吐槽大會》中,李誕要表現得更讓觀眾喜歡,在《奇葩說》中,更多的觀眾是在罵它。雖然是一種不同的表現形式,至少說,他依舊是一個焦點人物,不論是好是壞,總歸是留在了使用者心中 —— 人間不值得。

小編準備了一份2018年最新的python零基礎系統學習資料,需要python學習資料加群 735934841 領取!