這個實現(xiàn)起來很簡單,分2步,先獲取視頻鏈接地址,然后再根據(jù)鏈接下載視頻,下面我簡單介紹一下實現(xiàn)過程,實驗環(huán)境win10+python3.6+pycharm5.0,主要內(nèi)容如下:
這里為了更好地說明問題,以爬取B站的TED視頻為例,如下:
1.首先,獲取視頻的鏈接地址,這里需要抓包分析,視頻信息是動態(tài)加載的,不在網(wǎng)頁源碼中,所以直接爬取是不會成功的,按F12調(diào)出開發(fā)者工具,刷新頁面,查看抓包信息,如下,動態(tài)加載的視頻信息就出來了,在一個json文件里:
但是在json數(shù)據(jù)里面查找一圈也沒有視頻的連接地址,這就奇怪了,我們再打開頁面,右擊鼠標,查看一下頁面代碼的視頻信息,如下:
發(fā)現(xiàn)鏈接地址都是//www.bilibili.com/video/av...很明顯,后面的...都是視頻的id,那么完整的鏈接地址就是https://www.bilibili.com/video/av+視頻id,代碼就很簡單了,如下,最簡單的requests+json組合,就能獲取到視頻信息:
程序運行截圖如下,已經(jīng)成功獲取到視頻及對應(yīng)地址信息:
2.接著就是根據(jù)視頻地址信息下載視頻了,這里我們拿來即用,有一個you-get工具(這個我以前介紹過),這里直接用它下載視頻就行,只需知道視頻url地址,就能正常下載,主要步驟如下:
下載安裝you-get,這里直接在cmd窗口執(zhí)行命令“pipinstallyou-get”就行,如下:
安裝完畢后,我們就可以正常用you-get來下載視頻了(其中參數(shù)o代表存放視頻的目錄),其實就是調(diào)用os.system執(zhí)行系統(tǒng)命令,完成視頻的下載,主要代碼如下,很簡單:
程序運行截圖如下:
存放目錄下就會出現(xiàn)下載的視頻文件,如下:
至此,我們就完成了B站視頻的下載,很簡單吧,主要就是2步,先獲取視頻地址,然后根據(jù)地址,調(diào)用you-get命令下載視頻,感興趣的朋友可以嘗試一下,希望以上分享的內(nèi)容能對你有所幫助吧,也歡迎大家評論、留言。