1. 程式人生 > 實用技巧 >爬取並分析一下B站的最熱視訊排行榜,看看大家都喜歡看什麼視訊

爬取並分析一下B站的最熱視訊排行榜,看看大家都喜歡看什麼視訊

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯絡我們以作處理。

以下文章源於菜鳥學Python ,作者:菜鳥哥

剛接觸Python的新手、小白,可以複製下面的連結去免費觀看Python的基礎入門教學視訊

https://v.douyu.com/author/y6AZ4jn9jwKW

前言

現在大家的生活中,已經越來越離不開B站了,2020年的第一季度,B站月活躍使用者達到了1.72億,日活躍使用者也已經突破了5000萬個使用者。源源不斷的流量讓B站的up主們也是粉絲數目不斷暴漲,百萬粉絲的up主比比皆是。

今天,小編就帶領大家來爬取並分析一下B站的最熱視訊排行榜,看看大家究竟都喜歡看什麼樣子的視訊~~

01.榜單資訊抓取

對於榜單的爬取,我們爬取了榜單的前一百名視訊的播放量,彈幕數量,以及視訊的點贊、投幣、收藏和up主的粉絲數目等資訊。

對於排行榜的播放量、彈幕數量和視訊連結的爬蟲程式,如下圖所示:

由於網頁是靜態網頁,所以我們可以直接採用requests請求的方式,來獲取網頁原始碼,然後使用beautifulsoup來進行網頁的解析,並抓取我們需要的資訊。對於每個網頁的點贊、投幣、收藏和up主的粉絲數量。

可以採用我們之前介紹的web scraper來進行抓取(牛逼的chrome外掛,不用一行程式碼,輕鬆爬取各大網站公開資訊!(附視訊))。最後將兩部分的內容進行合併,得到最終的抓取資訊。

對於資料中存在的字串型別的數值,例如觀看數量為“122萬”,已經經過資料清洗轉化為int型別的數值。

02.資料分析

接下來,我們來看一下,最熱視訊排行榜前十位中,up主們的粉絲數量的分佈情況,程式如下圖所示:

首先,我們對資料按照粉絲數量的數值進行降序排序,然後將前十名的粉絲數量進行按“萬”為單位進行計數,最後利用pyecharts中的Bar類來及進行視覺化的展示。結果如下。

可以看到,粉絲數量排名最高的up主是“羅翔說刑法”,粉絲數量超過了1000萬,妥妥的B站超級up主,也說明了在B站上小夥伴們不僅是為了娛樂,還可以在B站上進行學習。大家看看前十的排行中,有沒有大家關注的up主呢?

03.視覺化展示

接下來,我們對於排行榜中彈幕的數目進行一個分佈的視覺化展示:

程式中 ,我們首先將彈幕的數量進行一個分段的劃分,分別為0-5000,5000-10000一直到25000-30000,然後建立一個Pie類物件,進行資料的視覺化展示。

可以看到,視訊的彈幕數量中,有62%的是在0-5000的範圍內,視訊的個數隨著彈幕數量的增加而呈現快速減少的趨勢,彈幕數量在25000到30000之間的視訊只有一個。這也符合大家正常的觀看趨勢。

那對於視訊的點贊數目的視訊分佈又是怎樣的呢?

上圖中橫座標對應的是不同的點贊數量分佈區間,利用0到2萬指的是,點贊數在0到2萬次,而縱座標對應的就是視訊的數量;

從點贊數和視訊的分佈數量來看,呈現了不規則的趨勢,點贊在2萬到4萬和12萬贊以上的視訊數目是最多的;

而點贊在0到2萬的視訊數目是最少的,看來大家對於視訊是不會吝嗇自己的“贊”;

另一方面,相比於發彈幕,點讚的操作更加的便捷,也也許就是大家更願意點讚的原因吧。

04.詞雲分析

最後,小編抓取了榜單排行第一位的視訊《眾所周知,貓是一種尊老愛幼的動物》的彈幕,並進行了去重,來看一下彈幕中大家提及的關鍵詞都有哪些吧。