Python幫你把B站上喜歡的視頻下載下來


Python幫你把B站上喜歡的視頻下載下來

 

B站之所以火,是因為趣味與知識並存。它是一個重度宅腐二次元集結地。B站包含動漫、漫畫、游戲,也有很多由繁到簡、五花八門的視頻,很多冷門的軟件和繪畫技巧在B站都可以找到完整的教學視頻。正如一句“你在B站看番,我在B站學習”,B站還是有一些質量比較好的學習視頻。當你在B站上看到喜歡的視頻想保存下來時,怎么辦呢?

很多人學習蟒蛇,不知道從何學起。

很多人學習尋找python,掌握了基本語法之后,不知道在哪里案例上手。

很多已經可能知道案例的人,卻不怎么去學習更多高深的知識。

這三類人,我給大家提供一個好的學習平台,免費獲取視頻教程,電子書,以及課程的源代碼!

QQ群:101677771

 

轉入正題,本篇推文主要介紹如何將B站上把喜歡的視頻下載下來,幫助更多需要學習的小伙伴,詳細步驟如下:

  • 網頁分析
  • 視頻下載方法
  • 成果展示

網頁分析

 

微信視頻號的加入,再度引燃了短視頻領域,今天我們爬取B站的每天播放量最多的小視頻,其他類型的視頻可以參考這個方法。

Python幫你把B站上喜歡的視頻下載下來

 

網址為:

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

 

我們可以看到Request URL這個屬性值,我們向下滑動加載視頻的過程中,發現只有這段url是不變的。next_offset 會一直變化,我們可以猜測,這個可能就是獲取下一個視頻序號,我們只需要把這部分參數取出來,把 next_offset 寫成變量值,用 JSON 的格式返回到目標網頁即可。

Python幫你把B站上喜歡的視頻下載下來

 

Python幫你把B站上喜歡的視頻下載下來

 

視頻下載方法

 

上一部分已對網頁進行了分析,現在我們可以利用requests.get方法來獲取B站上的小視頻。

 

核心代碼

def get_json(url): headers = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } params = { 'page_size': 10, 'next_offset': str(num), 'tag': '今日熱門', 'platform': 'pc' } try: html = requests.get(url, params=params, headers=headers) return html.json() except BaseException: print('request error') pass def download(url,path): start = time.time() # 開始時間 size = 0 headers = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } response = requests.get(url,headers=headers,stream=True) chunk_size = 1024 content_size = int(response.headers['content-length']) if response.status_code == 200: with open(path,'wb') as file: for data in response.iter_content(chunk_size=chunk_size): file.write(data) size += len(data)

成果展示

 

上一部分我們已經展示了如何用Python下載視頻的方法,下面我們進行效果展示,需要完整版代碼的同學可以在公眾號后台回復:B站代碼

Python幫你把B站上喜歡的視頻下載下來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM