日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用Python爬取Bilibili上二次元妹子的视频

發布時間:2024/9/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python爬取Bilibili上二次元妹子的视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:Mike_Shine

來源:https://urlify.cn/2qyMBb

一直想爬取BiliBili的視頻,無奈一直沒有去研究一下。

最近,在旭哥的指點之下,用了Fiddler抓包,抓到了一直期待的視頻包,完成了下載。

下面寫一下我做這個爬蟲的過程。

# 相關依賴? :Fiddler+Python3 + Requests

下面看一下我做這個爬蟲的具體步驟:

1. 進入某個具體視頻的頁面抓取視頻包測試。

進入這個頁面:https://www.bilibili.com/video/av26019104,如下圖所示。點擊播放按鈕。

可以看到Fiddler已經抓到了很多包。別著急,現在還沒有視頻包出現。由于需要時間下載,所以具體視頻包會過一會才能彈出來。

過大概一兩分鐘,就會看到這個包,如下圖。可以清楚的看到這個是Flv形式的視頻流的包,看這個包的大小也可以看出來,是相當的大。

下面分析一下這個包的具體參數。點擊上圖紅色圈圈那個“Raw",會彈出下面這個窗口

可以看到是一個Get請求,請求的url和Headers都很清楚。

這時候就可以實驗一下,來寫一小段代碼測試一下是否可以通過requests.get()方法來下載視頻。

#######################################################################import?requests with?open("D:\video\bilibili.mp4")?as?f: f.write(requests.get(url,?headers?=?headers,?verify?=?False).content)???????#這里的Verify=False是跳過證書認證??print("下載完成") #?這里只是寫了核心部分,headers和url沒有寫,直接copy過來就好了,#?注意Url前面要加Host.???真正的請求地址是http://主機Host地址/upgcx.......############################################################################

可以看到如果你運行這段代碼,已經可以把視頻下載到了本地。

這里你可以多試幾個視頻,可能會發現,有些視頻按照抓包得到的Headers,請求之后只能Get到一部分視頻,比如視頻8M,你Get到只有2M。你去看一下Headers就會發現,他多了一個Range參數。把這個刪除掉,就可以下載了。

經過我的實驗,所有視頻請求的Headers格式都可以統一為下圖這樣。里面有2個參數哈。

1.host,主機名,就是從你爬出來的URL中正則出來的host

2. 視頻標號。

2. 獲取請求Headers參數和請求源URL:

要找URL,可以看一下URL中的內容,里面的hfa=xxxxxxxx和hfb=xxxxxxx應該是加密的?這可怎么辦。這時候用Fiddler,從抓來的包里搜索一下這兩個參數,肯定藏在某個包里。用CTRL + F 輸入hfa 搜索。可以看到包含HFA關鍵字的包都被找出來了。

進去一看,其實包含在網頁源代碼的包,也就是說URL中的參數包含在網頁源代碼里。

回到最初的那個視頻頁面,看一下網頁源代碼。搜索一下URL。

驚喜的發現,其實整個URL都在網頁源碼里。這豈不是太簡單了。

不過需要注意的是,這個URL中含有的hfa等加密部分是會動態變化的。所以在最終腳本的代碼結構中,需要拿一個URL,及時用來做get請求。下載完成之后再拿下一個URL。

我之前就犯過這樣的錯,由于URL過期,導致部分視頻下載不到。

3. 從UP主的主頁爬取所有視頻的信息(視頻編號,標題)。

在之前的實驗之上,現在只要有視頻編號,我們就可以下載到對應的視頻了。所以接下來要做的工作就是從Up主的主頁來獲取所有的視頻信息。

訪問某個Up主的主頁

點擊圈圈的更多,可以進入所有視頻的頁面。

這時候看Filddler抓包的結果,看到這個json包,里面包含了本頁所有視頻的信息。

同樣,看一下包頭。如下圖

也做一下實驗,可以發現Cookie是不必須的參數。

同之前下載視頻的Get方法,同樣可以Get到這個Json包。然后就可以把內容通過Json解析的語句拿出來。

這里我并沒有做翻頁的工作,而是直接請求了100個視頻。想做翻頁的同學,加一點代碼就好了。

END 最后說個題外話,相信大家都知道視頻號了,隨著灰度范圍擴大,越來越多的小伙伴都開通了視頻號。小詹也開通了一個視頻號,會分享互聯網那些事、讀書心得與副業經驗,歡迎掃碼關注,和小詹一起向上生長!「沒有開通發布權限的盡量多互動,提升活躍度可以更快開通哦」(聽我一分鐘,生活更輕松)(掃碼回復 1024 即可領取IT資料包) 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的用Python爬取Bilibili上二次元妹子的视频的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。