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

5月3日晚,央視在《新聞聯播》前播放了B站青年宣言片《後浪》,這是B站首次登錄央視黃金時段,今天在朋友圈陸續看到相關的視頻。最先用B站的同窗都知道,B站是和A站以殊途同歸的鬼畜視頻及動漫,進入到大衆視野的非主流視頻網站。嗶哩嗶哩現爲國內領先的年輕人娛樂、文化社區,該網站於2009年6月26日建立,被粉絲們親切的稱爲「B站」。html

不少人學習python,不知道從何學起。
不少人學習python,掌握了基本語法事後,不知道在哪裏尋找案例上手。
不少已經作案例的人,殊不知道如何去學習更加高深的知識。
那麼針對這三類人,我給你們提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ羣:1097524789python

 

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

 

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

  • 網頁分析app

  • 視頻下載方法學習

  • 成果展現網站

網頁分析ui

 

 

 

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

 

 

網址爲:spa

'http://vc.bilibili.com/p/eden/rank#/?tab=所有'

 

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

 

 

 

 

視頻下載方法

 

 

 

上一部分已對網頁進行了分析,如今咱們能夠利用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下載視頻的方法,下面咱們進行效果展現

 

相關文章
相關標籤/搜索