欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何實現(xiàn)爬取B站視頻

 更新時間:2020年05月20日 10:50:29   作者:Python學習交流  
這篇文章主要介紹了Python如何實現(xiàn)爬取B站視頻,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

5月3日晚,央視在《新聞聯(lián)播》前播放了B站青年宣言片《后浪》,這是B站首次登陸央視黃金時段,今天在朋友圈陸續(xù)看到相關(guān)的視頻。最早用B站的同學都知道,B站是和A站以異曲同工的鬼畜視頻及動漫,進入到大眾視野的非主流視頻網(wǎng)站。嗶哩嗶哩現(xiàn)為國內(nèi)領(lǐng)先的年輕人娛樂、文化社區(qū),該網(wǎng)站于2009年6月26日創(chuàng)建,被粉絲們親切的稱為“B站”。

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

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

  • 網(wǎng)頁分析
  • 視頻下載方法
  • 成果展示

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

網(wǎng)頁分析

網(wǎng)址為:

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

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

視頻下載方法

上一部分已對網(wǎng)頁進行了分析,現(xiàn)在我們可以利用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)

成果展示

上一部分我們已經(jīng)展示了如何用Python下載視頻的方法,下面我們進行效果展示

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python多線程中阻塞(join)與鎖(Lock)使用誤區(qū)解析

    Python多線程中阻塞(join)與鎖(Lock)使用誤區(qū)解析

    這篇文章主要為大家詳細介紹了Python多線程中阻塞join與鎖Lock的使用誤區(qū),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python實現(xiàn)系統(tǒng)交互(subprocess)

    Python實現(xiàn)系統(tǒng)交互(subprocess)

    我們幾乎可以在任何操作系統(tǒng)上通過命令行指令與操作系統(tǒng)進行交互,本文實現(xiàn)了Python系統(tǒng)交互,具有一定的參考價值,感興趣的可以了解一下
    2021-07-07
  • 使用python實現(xiàn)微信小程序自動簽到功能

    使用python實現(xiàn)微信小程序自動簽到功能

    這篇文章主要介紹了使用python實現(xiàn)微信小程序自動簽到功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 輕松理解Python 中的 descriptor

    輕松理解Python 中的 descriptor

    本文給大家分Python 中的 descriptor相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-09-09
  • Python3中列表list合并的四種方法

    Python3中列表list合并的四種方法

    這篇文章主要介紹了Python3中列表list合并的四種方法,文章結(jié)尾對每種方法做了總結(jié),需要的朋友可以參考下
    2019-04-04
  • python人工智能算法之線性回歸實例

    python人工智能算法之線性回歸實例

    這篇文章主要為大家介紹了python人工智能算法之線性回歸實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python判斷字符串是否是json格式方法分享

    python判斷字符串是否是json格式方法分享

    這篇文章主要介紹了python判斷字符串是否是json格式方法分享,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Django中CBV(Class Base Views)模型源碼分析

    詳解Django中CBV(Class Base Views)模型源碼分析

    這篇文章主要介紹了詳解Django中CBV(Class Base Views)模型源碼分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Python繪制loss曲線和準確率曲線實例代碼

    Python繪制loss曲線和準確率曲線實例代碼

    pytorch雖然使用起來很方便,但在一點上并沒有tensorflow方便,就是繪制模型訓練時在訓練集和驗證集上的loss和accuracy曲線(共四條),下面這篇文章主要給大家介紹了關(guān)于Python繪制loss曲線和準確率曲線的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python?dataframe如何設(shè)置index

    Python?dataframe如何設(shè)置index

    這篇文章主要介紹了Python?dataframe如何設(shè)置index,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論