Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了?

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第1張

作者 | 羅昭成

責編 | 唐小引

出品 | CSDN(ID:CSDNnews)

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

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

如何進行情感分析?

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

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

在這里,我們使用「SnowNLP」進行分詞和情感分析。

奇葩說的情感分析數據

註:本文中使用的奇葩說數據是上篇文章爬取的數據,數據文件地址:

https://github.com/Pinned/ICanIBBData/blob/master/deal_data.db

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第2張

奇葩說情感分析

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

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第3張

有關李誕評論的情感分析

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第4張

薛教授評論情感分析

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第5張

詹青雲評論情感分析

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

詳細代碼為:

defemotionParser(title,*names):conn=conn=sqlite3.connect("deal_data.db")conn.text_factory=strcursor=conn.cursor()likeStr=""foriinrange(0,len(names)):likeStr=likeStr+"orcontentlike\"%"+names[i]+"%\""iflikeStr=="":sql="selectcontentfromrealDatawherecontent!=\"\""else:sql="selectcontentfromrealDatawherecontent!=\"\""+likeStrprintsqlcursor.execute(sql)values=cursor.fetchall()sentimentslist=[]foriteminvalues:content=item[0]senValue=SnowNLP(content.decode("utf-8")).sentimentssentimentslist.append(senValue)printcontentplt.hist(sentimentslist,bins=np.arange(0,1,0.01),facecolor="#4F8CD6")plt.xlabel("SentimentsProbability")plt.ylabel("Quantity")plt.title("AnalysisofSentimentsfor"+title)plt.show()cursor.close()conn.close()

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第6張

《奇葩說》評論李誕的數據詞雲

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

吐槽大會的情感分析

  • 爬取騰訊評論數據

用 Chrome 打開騰訊視頻,打開 《吐槽大會》視頻播放,然後打開 Chrome 查看源代碼模式,在網路請求里面搜尋並過濾 comment。通過過濾拿到的請求地址中,你能拿到一個 videocommentid 的請求,里面有該期評論的 id。

本次筆者爬取了《吐槽大會》的三季數據,每一期的評論數據的 id 都是手動去獲取的。?

  • 數據分析

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第7張

李誕評論數據條數

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

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第8張

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

  • 情感分析

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第9張

李誕所有數據的情感分析

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第10張

吐槽大會-李誕詞雲

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第11張

李誕第一季數據

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第12張

李誕第二季數據

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

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第13張

李誕第三季數據

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

結語

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

福利

公眾號後台回復:2018Python,獲取2018Python開源項目Top100整理資料!或掃碼添加小助手微信,回復:1,入群獲取。

Python爬取愛奇藝騰訊視頻250,000條數據分析為什麼李誕不值得了? 科技 第14張

推薦閱讀:

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!