直播彈幕資料如何爬取?

現在隨著直播越來越風靡,越來越多人沉迷其中,直播中的彈幕也是人們喜歡看直播的一個原因,現在我們就針對直播中的彈幕進行爬取,由於我們只想跑一次程式,所以我下面就針對錄播的彈幕進行爬取。

我們選取了我比較喜歡的英雄聯盟主播東北大鵪鶉 作為我們彈幕的爬取物件,看看我們的嘟嘟怪的彈幕是不是這麼好玩。

一.匯入爬蟲所需的python庫

由於鬥魚直播網頁是動態網頁,所以我們採用了selenium這個自動化測試工具進行爬取,在使用這個模組之前,需要先安裝chromedriver,而且chromedriver的版本需要和你的chrome瀏覽器版本對應。

二.分析網頁

我們使用谷歌瀏覽器的開發者工具F12看一下我們的目標,首先進入到這個錄播的頁面,然後有一個彈幕列表的這個按鍵,我們需要點到這個按鍵:

點選之後,彈幕就在右邊排列出來,這就是我們想要的結果,我們下一步的目標就是,希望點選拖動條,然後把彈幕的內容和彈幕的傳送時間全都儲存下來:

三.開始敲程式碼

先初始化這個類,設定一下引數,程式碼如下:

我們在分析的網頁的時候已經提到過,需要先點選彈幕列表,這樣網頁才能更新出彈幕的內容,程式碼如下:

經過上一步之後,網頁內容已經更新,我們下面要獲取到彈幕的內容以及彈幕的傳送時間,還是通過xpath,通過selenium得到的是一個資料,可以把當前頁所有彈幕內容和彈幕傳送時間獲取到 ,還有一點就是,點選之後,不能立馬就獲取,需要等待頁面載入完成,不然獲取不到東西 程式碼如下:

我們現在已經獲取到當前頁的所有彈幕和所有彈幕的傳送時間,我們要進行下一步,就是滑動拖動條,繼續更新我們的彈幕列表,通過chrome的開發者工具,獲取到拖動條長度為30px,總長是540px,通過除錯可知,拖動條一次拖動2px,可以剛好更新整個彈幕內容:

所以我們直接上程式碼:

四.將爬取的結果儲存到檔案

目前將爬取到的結果儲存下來的方式有兩種,一種是儲存到本地檔案(txt,csv,….),還有一種儲存到資料庫

1.儲存到本地檔案,直接上程式碼:

2.儲存到資料庫

五.爬蟲的完整程式碼:

六.對爬下來的彈幕做詞雲分析

現在我們已經已經把鬥魚的彈幕爬取了下來,我們就需要對爬取的內容進行一下簡單的分析,這次我選擇做一個詞雲,看看主播彈幕主要的關鍵詞都是些什麼,咱們說幹就幹:

首先我們要用到wordcloud這個詞雲模組,需要自己先行安裝,還需要安裝一個字型包,連線如下:

s3-us-west-2.amazonaws.com/notion-static/b869cb0c7f4e4c909a069eaebbd2b7ad/simsun.ttf

接著下載simsun.ttf。

由於中文文化博大精深,我們需要先對中文的句子進行分詞,中文分詞的工具有很多種。有的免費,有的收費。

今天給大家介紹的,是如何利用Python,在你的膝上型電腦上,免費做中文分詞。

我們採用的工具,名稱很有特點,叫做“ 結巴分詞 ”,大家可以通過pip install jieba來安裝這個工具。

七.結果展示

怎麼樣,是不是很符合東北大鵪鶉的主播形象呢?國服第一艾希的嘟嘟嘟,日常帶比心小姐姐套路怪,日常直播到屁股疼不得不停播的鵪鶉哥。