最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

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

2021-02-27 21:23 作者:圖通道  | 我要投稿

圖圖今天來聊聊基于MATLAB的爬蟲,互聯(lián)網(wǎng)上真不多見。

下方是圖圖爬取的成果!

隨時(shí)感知所有視頻,點(diǎn)擊超鏈接直接觀看

爬取文本信息

批量獲取封面圖片,對(duì)不住了‘畢導(dǎo)’

爬取圖片信息

批量下載視頻,B站大學(xué)變離線

批量下載視頻

1. 爬蟲是什么?

????爬蟲是用編程語言構(gòu)造的檢索引擎,它模擬人的瀏覽行為去各個(gè)網(wǎng)站溜達(dá),到處點(diǎn)點(diǎn)按鈕、查查數(shù)據(jù),然后把看到的有用信息背回來。就像一只“蜘蛛”(爬蟲)在“網(wǎng)上”(互聯(lián)網(wǎng))爬來爬去。一旦搜集到的信息足夠多,就形成了巨大的價(jià)值!

  • 每天使用的搜索引擎,其實(shí)就是利用了這種爬蟲技術(shù):每天放出無數(shù)爬蟲到各個(gè)網(wǎng)站,把他們的信息抓回來,然后排著小隊(duì)等你來檢索。

  • 搶票軟件,幫助你不斷刷新12306網(wǎng)站的火車余票。一旦發(fā)現(xiàn)有票,就馬上拍下來,然后對(duì)你喊:快來付款。

????對(duì)于個(gè)人使用者來說,爬蟲的作用無非是搜集數(shù)據(jù)!圖圖寫爬蟲程序的出發(fā)點(diǎn)也是搜集自己在B站發(fā)布的視頻與視頻封面,方便自己進(jìn)行統(tǒng)計(jì)。

????網(wǎng)絡(luò)上關(guān)于Python的爬蟲程序鋪天蓋地,但基于MATLAB制作的爬蟲程序少之又少,今天圖圖來貢獻(xiàn)自己的一份力,降低大家的學(xué)習(xí)成本。爬取的目標(biāo)是B站,僅對(duì)自己感興趣的數(shù)據(jù)進(jìn)行了爬取,包括

  1. 視頻UP主

  2. 視頻標(biāo)題

  3. 視頻封面(網(wǎng)址)

  4. 視頻鏈接

形成了EXCEL表格

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

其它內(nèi)容原理都是一樣的,如果需要更多數(shù)據(jù),只要進(jìn)行簡(jiǎn)單的輸出即可!

2. 爬取B站的原理

總體步驟:輸入U(xiǎn)P主的編號(hào)與視頻編號(hào),不斷變換、拼接成為路徑url,通過MATLAB去模擬瀏覽器訪問url。將訪問得到的信息進(jìn)行整理得到自己想要的關(guān)鍵內(nèi)容,利用MATLAB輸出關(guān)鍵內(nèi)容。

因?yàn)樵敿?xì)的教程已經(jīng)錄制了視頻:

所以圖圖此處就列出一些關(guān)鍵點(diǎn),重點(diǎn)需要關(guān)注的有如下信息:

2.1 UP主的mid

mid在UP主個(gè)人空間的主頁(yè)鏈接中

mid

2.2 一條視頻的bvid

bvid在視頻播放頁(yè)的地址欄中

有了midbvid就基本確定了任意一條視頻

2.3?F12進(jìn)入開發(fā)者模式查看網(wǎng)頁(yè)代碼

3. 爬取B站的MATLAB代碼

須知

  • 編寫環(huán)境:MATLAB 2020a

  • 低于MATLAB 2016a確定無法運(yùn)行

  • 因?yàn)槠渲姓{(diào)用了webread()等函數(shù)

3.1 主函數(shù) main()

主函數(shù)主要是用于確定爬取的對(duì)象,控制爬取的過程,以及決定要保存哪些文件。

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

重點(diǎn)關(guān)注的輸入?yún)?shù)就是mid,即你要爬取哪一個(gè)UP主,其它的參數(shù)基本都可以不動(dòng)。delaytime用于設(shè)置訪問的時(shí)間間隔,防止IP被封。qn控制下載視頻的清晰度。

在C部分具有?options選項(xiàng)用于設(shè)置一些訪問的方式,有興趣的可以參考Python中有關(guān)的介紹——requests。

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

data是一個(gè)結(jié)構(gòu)體,其具體形式如下:

A

B

C

D

E

F

G

3.2 訪問得到數(shù)據(jù)getBiliData()

用到的核心函數(shù)是webread()

詳細(xì)介紹的網(wǎng)址;

3.3 生成文本文件

saveCon(data)

3.3 獲取圖片

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

3.4?獲取視頻文件

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

????具體的步驟如下:

A?創(chuàng)建文件夾

B?與上一期相同,設(shè)置訪問的UserAgent

C?獲取cid,是一個(gè)訪問參數(shù),但是不是顯示的

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

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

  • 關(guān)注公眾號(hào)“圖通道” 回復(fù)?爬蟲?獲取文中完整代碼!

  • 圖圖的MATLAB交流群?1129425848

  • 獲取圖圖全部干貨內(nèi)容?公眾號(hào)“圖通道”后臺(tái)回復(fù)?全家桶計(jì)劃


MATLAB爬蟲程序 | 批量獲取文本、圖片和視頻的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南皮县| 巴彦县| 睢宁县| 女性| 岳池县| 星子县| 通州市| 五常市| 丘北县| 天台县| 晋州市| 府谷县| 盐亭县| 金溪县| 乌拉特前旗| 若尔盖县| 长子县| 兴宁市| 石阡县| 商水县| 清新县| 资源县| 长沙县| 郑州市| 上饶市| 塔城市| 驻马店市| 左贡县| 玉环县| 渭南市| 公主岭市| 文山县| 阿城市| 诸暨市| 正安县| 绍兴县| 潮安县| 仁布县| 尤溪县| 大埔县| 成武县|