當前位置:首頁 » 資源管理 » 如何爬蟲抓取視頻資源

如何爬蟲抓取視頻資源

發布時間: 2025-02-12 22:59:18

㈠ MATLAB爬蟲程序 | 批量獲取文本、圖片和視頻

圖圖今天來聊聊基於MATLAB的爬蟲,互聯網上真不多見。

下方是圖圖爬取的成果!

隨時感知所有視頻,點擊超鏈接直接觀看

批量獲取封面圖片,對不住了『畢導』

批量下載視頻,B站大學變離線

1. 爬蟲是什麼?

爬蟲是用編程語言構造的檢索引擎,它模擬人的瀏覽行為去各個網站溜達,到處點點按鈕、查查數據,然後把看到的有用信息背回來。就像一隻「蜘蛛」(爬蟲)在「網上」(互聯網)爬來爬去。一旦搜集到的信息足夠多,就形成了巨大的價值!

對於個人使用者來說,爬蟲的作用無非是搜集數據!圖圖寫爬蟲程序的出發點也是搜集自己在B站發布的視頻與視頻封面,方便自己進行統計。

網路上關於Python的爬蟲程序鋪天蓋地,但基於MATLAB製作的爬蟲程序少之又少,今天圖圖來貢獻自己的一份力,降低大家的學習成本。爬取的目標是B站,僅對自己感興趣的數據進行了爬取,包括

形成了EXCEL表格

同時將視頻的封面和視頻本身下載到了一起

其它內容原理都是一樣的,如果需要更多數據,只要進行簡單的輸出即可!

2. 爬取B站的原理

總體步驟:輸入UP主的編號與視頻編號,不斷變換、拼接成為路徑url,通過MATLAB去模擬瀏覽器訪問url。將訪問得到的信息進行整理得到自己想要的關鍵內容,利用MATLAB輸出關鍵內容。

因為詳細的教程已經錄制了視頻:

所以圖圖此處就列出一些關鍵點,重點需要關注的有如下信息:

2.1 UP主的mid

mid在UP主個人空間的主頁鏈接中

2.2 一條視頻的bvid

bvid在視頻播放頁的地址欄中

有了mid和bvid就基本確定了任意一條視頻

2.3 F12進入開發者模式查看網頁代碼

3. 爬取B站的MATLAB代碼

須知

3.1 主函數 main()

主函數主要是用於確定爬取的對象,控制爬取的過程,以及決定要保存哪些文件。

A-B-C-D-E-F-G只是為了方便閱讀而拆分,實際是按順序書寫在同一個文件中的。

重點關注的輸入參數就是mid,即你要爬取哪一個UP主,其它的參數基本都可以不動。delaytime用於設置訪問的時間間隔,防止IP被封。qn控制下載視頻的清晰度。

在C部分具有options選項用於設置一些訪問的方式,有興趣的可以參考Python中有關的介紹——requests。

D部分用於訪問獲取所需的數據data,其中就包含了封面圖鏈接和視頻鏈接(播放頁面的鏈接而不是下載鏈接)。

data是一個結構體,其具體形式如下:

A

B

C

D

E

F

G

3.2 訪問得到數據getBiliData()

用到的核心函數是webread()

詳細介紹的網址;

3.3 生成文本文件

saveCon(data)

3.3 獲取圖片

保存圖片相對簡單,我們只需使用websave()將圖片存到本地的指定路徑即可。

3.4 獲取視頻文件

保存視頻文件比較復雜,B站進行了層層加密,我們需要不斷的改變參數進行訪問,最後再使用websave()將視頻存到本地的指定路徑。

具體的步驟如下:

A 創建文件夾

B 與上一期相同,設置訪問的UserAgent

C 獲取cid,是一個訪問參數,但是不是顯示的

D 獲取視頻的下載鏈接(加密的)

E 用referer去訪問加密的下載鏈接得到視頻