如何使用python下載某B站的視頻(附源碼)
需要了解的工具:
先看看我發(fā)的第一期專欄,里面有關開發(fā)者模式的介紹,一些相關的請求庫與解析庫。本期專欄將不再贅訴。
下載ffmpeg。下載官網(wǎng)鏈接:https://ffmpeg.org/download.html。
注意:如果想要在cmd中使用,需要先配置環(huán)境變量
有關于此的介紹與使用詳細可以看此鏈接:https://zhuanlan.zhihu.com/p/356411237
本期將導入?subprocess 來用python執(zhí)行ffmpeg的有關命令。
對于m4s的處理及相關源碼(能直接運行):
本期處理依據(jù)來源于此:https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/video/videostream_url.md
m4s文件是單獨的音頻或者視頻文本文件。
可以了解先以下b站的api設置。具體可以看此鏈接:
https://zhuanlan.zhihu.com/p/556023455。
通過請求b站的api能夠返回含有url與backup_url的 json 文本

我們的目的就是請求以上的url。打開開發(fā)者模式:依次點擊下圖的五個位置:

五處的url即是我們需要的m4s路由文件。(由于是音視頻文件分開,需要再找一個音頻或視頻文件)
源代碼的簡單實現(xiàn):
有關注釋已放置在代碼塊中。
運行成功截圖:

對于第一期與第二期的相關拓展:
有些動漫網(wǎng)站,network下沒有ts文件的可以直接下載m3u8格式文件,將其擴展名改為txt。用文本編輯器打開后發(fā)現(xiàn)有ts文件的。就可以執(zhí)行以下代碼:
二期:再通過點觸驗證碼識別后,我們可以通過執(zhí)行以下代碼將cookies保存下來,下次直接使用cookies跳過點觸驗證碼的識別。
使用cookies跳過驗證碼識別代碼:
如有錯誤或者改進之處,歡迎各位提出