分析B站100萬+視頻,發現居然有這麼多幹貨資源。

image.png


最近一年來B站真的是火熱火熱的。python


最近的跨年晚會,獲得了人民日報的表揚。
mysql


image.png


去年4月份被央視點名表揚。
sql


image.png


弄的小F也註冊了一個B站帳號,去學習~
數據庫


那麼問題來了,面對B站8千萬的視頻,該如何找到那些優質的資源呢?
瀏覽器


小F爬取了B站科技分區下三個板塊2019年的全部視頻,約110w。app


image.png


其中演講·公開課板塊視頻最多,佔了一半的數量。ide


image.pngimage.png


數據是放在Mysql數據庫,因此放一下數據處理的代碼。工具


import pandas as pd
import pymysql

# 設置列名與數據對齊
pd.set_option('display.unicode.ambiguous_as_wide'True)
pd.set_option('display.unicode.east_asian_width'True)
# 顯示20列
pd.set_option('display.max_columns'20)
# 顯示10行
pd.set_option('display.max_rows'10)
# 設置顯示寬度爲2000,這樣就不會在IDE中換行了
pd.set_option('display.width'2000)

# 讀取數據
conn = pymysql.connect(host='localhost', user='root', password='20200118', port=3306, db='bilibili', charset='utf8mb4')
cursor = conn.cursor()
sql = "select * from messages"
db = pd.read_sql(sql, conn)


選取上傳時間爲2019年的視頻,看一下總體的數據狀況學習


# 選取2019年的視頻數據
df = db[db['day'].str.contains("2019")]
# 選取觀看數、彈幕數、點贊數、投幣數、收藏數、分享數、回覆數的列數據
df = df[['view''danmaku''love''coin''favorite''share''reply']]

# 計算每列的總和
df.loc['Row_sum'] = df.apply(lambda x: x.sum())
# 打印結果
print(df)


結果以下。
網站


image.png


能夠看到2019年上傳了1086739個視頻。


共產生了41億次的觀看,2千萬的彈幕,1.3億的點贊,近7千萬的投幣,1.1億的收藏,1.5千萬的分享,以及1.8千萬的評論。


厲害了,這個硬核的「B站」。


下面分別看一下各個數據的Top10。


 
 

# 對播放量進行排序,其它就是修改view爲danmaku,love,coin,favorite,share,reply
df = df.sort_values('view', ascending=False, na_position='last')
# 輸出排行前10位
df = df[['aid''view''name''title']].head(10)
print(df)


話說逛過B站的你,看過下面中的哪幾個視頻呢?


image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png


才入坑的小F,也就看過那麼幾個吧...


「何同窗」算是知道的,那個講解5G的視頻。


還有「見齊」,他開源的可視化工具(動態條形圖)真的香。


沒玩過B站的,能夠輸入圖片中的「mid」值(av號)便可訪問視頻。

https://www.bilibili.com/video/av52012946(複製到瀏覽器打開)


目前B站的註冊人數已經超過4億人,月活躍用戶也超過1億人。


下面就來看一下這110w的視頻是由多少個UP主上傳的,那些UP主上傳視頻最多。


 
 

# 對UP主進行分類彙總,計算上傳視頻數量
df = df.groupby(['name'])[['mid']].count().reset_index()
# 輸出全部結果
# df = df.sort_values('mid', ascending=False, na_position='last')

# 輸出排行前10位
df = df.sort_values('mid', ascending=False, na_position='last').head(10)
print(df)


結果以下。


image.png


能夠看到共有11萬+的UP主參與了這個大工程的建設。


如下10位做者能夠說是B站科技板塊最勤奮的UP主了。


image.png


「knnstack」這位UP主貢獻了近2萬的視頻,貌似都是搬運的。


image.png


那麼2019年誰是B站最強UP主呢?


下面以2019年視頻總播放量做爲一個參考,看一下Top10


image.png


其中「我是EyeOpener」以5千萬的播放量位居第一,其餘各項數據也位居前列。



就主頁來看,應該是一位偏向科普類型的UP主。


經過這些數據應該就能將B站科技板塊熱門的UP主蒐羅的差很少了。


對於那些冷門但質量好的UP主,或許就只能慢慢發現了。


接下來查詢一下關於Python的視頻有多少呢?


 
 

# 查詢標題含有Python的視頻
df = df[df['title'].str.contains("python|Python")]
# 輸出結果
print(df)


結果以下。


image.png


1萬多條,也是很多,不過其中的版權問題也較大。


以前看過網易數讀的一篇文章,裏面提到了北京大學的課程最受歡迎。


image.png


這裏小F就來驗證一下。


 
 

# 查詢標題含有北京大學的視頻
df = df[df['title'].str.contains("北京大學")]
# 查詢標題含有清華大學的視頻
# df = df[df['title'].str.contains("清華大學")]
# 選取av號,類型,播放量數據的列
df = df[['aid''tname''view']]
# 輸出結果
print(df)


結果以下。


image.pngimage.png


其中2019年清華大學相關課程的播放量已經達到1千萬+,而大學則是3千萬+。


不愧是一個超硬核的「學習網站」。


小F最近想了解視頻剪輯,一查就有優質資源(以播放量排序)。


image.png


最後來看一下B站視頻上傳時間及視頻時長分佈。


image.png


整體上整年成上升趨勢。


8月份最高,看來暑假的時候你們學習的慾望很強啊!


image.png


對於科普的視頻,時長通常都短點,這樣可以快速瞭解。


對於須要深刻學習的,時長應該就長了,因此能夠看到大於30分鐘的視頻數量最多。


好了不說了,我要去知乎寫帖子去了...


image.png


用數據來告訴大夥,有哪些值得推薦的學習UP主。


萬水千山老是情,點個「在看」行不行。



···  END  ···


image.png

相關文章
相關標籤/搜索