真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用Python對b站的小視頻進(jìn)行爬取

這篇文章給大家介紹如何用Python對b站的小視頻進(jìn)行爬取,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、個舊網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為個舊等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

我用 Python 對 b 站的小視頻進(jìn)行了爬取,因?yàn)槭切∫曨l,大小平均在 5 兆以內(nèi)。排隊(duì)時,沒網(wǎng)絡(luò)也能看小姐姐了,爽啊。文末給出了源碼獲取方式。

b 站小視頻地址:

http://vc.bilibili.com/p/eden/rank#/?tab=全部

如何用Python對b站的小視頻進(jìn)行爬取

我爬取了每日的小視頻排行榜,學(xué)會了每日的,爬取本周、本月的就非常簡單了,改個標(biāo)簽就行,稍后詳細(xì)分析會講到。以下是爬取結(jié)果。

如何用Python對b站的小視頻進(jìn)行爬取

項(xiàng)目環(huán)境

語言:Python3
工具:Pycharm

程序結(jié)構(gòu)

如何用Python對b站的小視頻進(jìn)行爬取

主要由 3 部分組成:

  • get_json():提取目標(biāo)網(wǎng)頁的 json 數(shù)據(jù)信息。

  • downloader():下載小視頻并顯示下載進(jìn)度。

  • 主函數(shù):循環(huán)下載視頻直到下載完畢。

代碼分析

打開網(wǎng)站往下滑動,視頻是動態(tài)加載的,打開調(diào)試工具,向下滑動加載視頻,查看 Headers 中 url ,url 中前面部分的鏈接是不變的,提取出來。(左右滑動查看全部代碼)

http://api.vc.bilibili.com/board/v1/ranking/top?

如何用Python對b站的小視頻進(jìn)行爬取

觀察下方參數(shù)的變化,發(fā)現(xiàn)只有 next_offset 這個字段在變,每次都比前一個多 10。

如何用Python對b站的小視頻進(jìn)行爬取

這就好辦了,我們把參數(shù)部分單獨(dú)拿出來,把可變的 next_offset 寫成變量,返回目標(biāo)網(wǎng)頁的 json 數(shù)據(jù)。

如何用Python對b站的小視頻進(jìn)行爬取

接下來,我把小視頻下載下來,為了美觀,我做了個下載器,顯示下載速度。效果如下。

如何用Python對b站的小視頻進(jìn)行爬取

此處有個地方需注意下,請求目標(biāo)網(wǎng)頁時必須帶上此網(wǎng)頁的 headers 信息,網(wǎng)站做了反爬操作,否則下載下來的視頻是空的,部分代碼如下。(ps:大家運(yùn)行代碼時把 headers 換成自己瀏覽器在本網(wǎng)頁的 headers 即可)

如何用Python對b站的小視頻進(jìn)行爬取

主函數(shù)中為了提取更多視頻,我們把 next_offset 這個變量做個循壞,然后從 json 數(shù)據(jù)中提取視頻的標(biāo)題和可下載的鏈接。觀察下頁面的 json 數(shù)據(jù)結(jié)構(gòu)就可以輕松獲取文章標(biāo)題和下載鏈接數(shù)據(jù)。

如何用Python對b站的小視頻進(jìn)行爬取

為了防止有些視頻沒有提供下載鏈接的情況,我加了異常處理,細(xì)心的朋友應(yīng)該發(fā)現(xiàn)了文章前面給的效果圖只有84個視頻,原因就在此。最后,為了防止 ip 被封,設(shè)置了隨機(jī)等待時間。其實(shí),總體下來,不到 5 分鐘,100 個視頻可以全部下載完畢。

如何用Python對b站的小視頻進(jìn)行爬取

關(guān)于如何用Python對b站的小視頻進(jìn)行爬取就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


分享題目:如何用Python對b站的小視頻進(jìn)行爬取
當(dāng)前URL:http://weahome.cn/article/pedjce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部