前言
很多人提到B站,首先想到的就會是二次元或者鬼畜,上個月,我們公眾號也發表了一篇關于B站鬼畜視頻的文章:《大數據解讀B站火過蔡徐坤的“鬼畜“區巨頭們》。
然而,實際上B站其實是個非常神奇的網站,里面的內容可謂是包羅萬象,有趣的彈幕文化也能極大地提高大家的體驗,B站也逐漸地成為了一個用來學習的“神器”。
近期B站獲得了央視網的力挺,報道稱B站已經成為了越來越多的年輕人的學習陣地,正所謂“我在B站看番,你卻在B站學習” ,今天我們就來爬取B站上那些播放量、彈幕量排名靠前的編程類視頻,一起去了解B站的另一面。
數據來源
我們此次的數據主要來源于B站搜索框中輸入“編程”后的視頻列表及相關信息:
B站一共提供了物種視頻排序的方式,每種能夠返回前1000個視頻,我們分別爬取五種排序所得到的1000個視頻之后對5000個視頻進行排序,最終得到了2000多個編程類視頻的信息
同時我們也增加了一些篩選條件,使得最終獲取到的編程教學視頻更具代表性:a.所屬分類為科技類 b.視頻時長大于60分鐘,部分代碼如下:
## 獲得列表defget_list(i,j):attempts =0success =Falsewhileattempts 5?and?not?success:try:? ? url =?'https://search.bilibili.com/all?keyword=%E7%BC%96%E7%A8%8B&from_source=banner_search&order={}&duration=4&tids_1=36&page={}'.format(i,j+1)?? ? header = {'User-Agent':?'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0',? ? 'Connection':?'keep-alive'}? ? cookies ='v=3; iuuid=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; webp=true; ci=1%2C%E5%8C%97%E4%BA%AC; __guid=26581345.3954606544145667000.1530879049181.8303; _lxsdk_cuid=1646f808301c8-0a4e19f5421593-5d4e211f-100200-1646f808302c8; _lxsdk=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; monitor_count=1; _lxsdk_s=16472ee89ec-de2-f91-ed0%7C%7C5; __mta=189118996.1530879050545.1530936763555.1530937843742.18'? ? cookie = {}? ? for?line?in?cookies.split(';'):? ? ? ? name, value = cookies.strip().split('=',?1)? ? ? ? cookie[name] = value?? ? ? ? html = requests.get(url,cookies=cookie, headers=header).content? ? ? ? bsObj = BeautifulSoup(html.decode('utf-8'),"html.parser")? ? ? ? script = bsObj.find_all('script')[3].text? ? ? ? info = json.loads(script.replace('window.__INITIAL_STATE__=','').split(';(function()')[0])['allData']['video']? ? return?info? ? except:? ? ? ? attempts = attempts+1? ? return?[]coding_all = []type = ['click','stow','dm']for?i?in?type:? ? for?j?in?range(50):? ? ? ? this_coding = get_list(i,j)? ? ? ? coding_all = coding_all+this_coding
最終,我們獲取到了如下的視頻信息列表:
數據分析
獲取到數據之后,我們首先關注的是這些視頻的主要內容,通過視頻給出的標簽,繪制整體內容總結的詞云圖:
可以看到,上面的詞云除了編程語言,技術之外包含了許多類似于學習,教程這樣的通用描述性詞匯,我們需要進一步從中篩選出與編程語言、技術相關的詞云,提高詞云圖的效果:
可以看到,經過篩選后的詞云圖效果要好很多,其中基本上囊括了現在比較火的編程語言,如Java、Python 以及數據結構、機器學習這些技術類的內容,下面我們來看一下各編程語言的播放量及彈幕量對比:
我們此次將linux也劃分到語言類中,可以看到目前基本上就是處于Python、C語言、Java三組鼎力的態勢,Python略微領先于其他兩種語言,這也一定程度反映了當今的整體發展趨勢。由此可見,B站的內容也是與時俱進,適合年輕人去學習了解編程整體發展趨勢。
看完了語言類,我們再來看一下具體的技術類排行榜:
可以看到,前端、人工智能、數據框、爬蟲這些大家比較關心以及公司有較大需求量的技術都出現在了榜單中,在B站如果能將自己所要從事領域的視頻認真學習,也會有很大的提高,部分代碼如下:
## 分組統計coding_tag = dataframe_explode(coding,'tag')coding_tag['tag'] = coding_tag['tag'].apply(str.lower)coding_tag['type'] = coding_tag['tag'].map({tag_dict['tag'][k]:tag_dict['type'][k]forkinrange(tag_dict.shape[0])})coding_tag = coding_tag.groupby(['title','pic','author','arcurl','tag','type'],as_index=False).agg({'play':'max','danmu':'max','favorites':'max','review':'max'})tag_count = coding_tag.groupby(['tag','type'],as_index=False).agg({'title':['count'],'play':['sum'],'danmu':['sum'],'favorites':['sum']})tag_count.columns = ['tag','type','num','play','danmu','favorites']## 繪制圖片coding_stat = tag_count[tag_count['type']=='語言']coding_stat.sort_values('play',ascending=False,inplace=True)attr = coding_stat['tag'][0:10]v1 = coding_stat['play'][0:10]bar = Bar("語言類播放量TOP10")bar.add("播放數量", attr, v1, is_stack=True, xaxis_rotate=30,xaxis_label_textsize=18, xaxis_interval =0,is_splitline_show=False,label_text_size=12,is_label_show=True)bar.render('語言類播放量TOP10.html')
精品視頻
分析完整體視頻內容的分布情況,我們再來看下那些最為精品的視頻,由于B站以彈幕文化為特色,我們就依據彈幕量來為大家精選出一些非常不錯的視頻,首先是所有編程類視頻的TOP20:
我們下面分別看一下三足鼎立中的Python、Java、C語言分別彈幕量排名前十的視頻信息:
寫在最后
B站的阿婆主為為大家提供了特別多的編程學習資源,大家在學習知識的同時,也需要注意的就是相應的版權信息。上傳視頻一定要確認版權不存在問題之后再去上傳,另外如果發現有存在侵權的問題,也要及時跟視頻作者進行反饋,及時將侵權視頻下架。
另外,希望大家能夠多多支持技術類的視頻和阿婆主,如果覺得不錯就不要吝惜手中的硬幣,讓更多的技術類阿婆主有動力為大家提供更多更好的視頻內容。
-
數據
+關注
關注
8文章
7256瀏覽量
91868 -
視頻
+關注
關注
6文章
1972瀏覽量
73932 -
編程
+關注
關注
88文章
3689瀏覽量
95252
原文標題:萬萬沒想到,逛B站也能學編程了
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
根據Datasheet里cyT2B5L有1024位otp,全部都能用來存儲密鑰嗎?
絕絕子,連接神器CC\\-Link IE 轉 Modbus TCP,讓驅動器乖乖聽話
嵌入式開發入門指南:從零開始學習嵌入式
如何成為一名合格的KaihongOS北向應用開發工程師
先輯半導體HPM6E00系列產品能用來做EtherCAT的主站嗎
阿里國際站“八先過海”計劃助力B2B商家出海
用萬用表測試的過程中,ADS4246參考電壓為什么會逐漸下降了?
如何選擇云原生機器學習平臺
新手必看!搞清楚Modbus主站和從站,讓你成為通信達人

AI干貨補給站03 | 工業AI視覺檢測項目實施第二步:數據收集

什么是機器學習?通過機器學習方法能解決哪些問題?

一個人,如何管理上百個污水處理站?

評論