利用you-get批量下載bilibili等網站的視頻

因爲資源保存問題我需要下載b站的一組視頻,一共64p

2020.4更新 因爲b站從av號改爲了bv號,直接下載會出錯。下載之前將bv轉換爲av即可。有個大佬的工具箱很好用可以用下https://tool.liumingye.cn/avbv/(侵刪)

如果只是單純的下載某1p的視頻,可以利用以下的辦法:

  1. 使用idm抓取視頻直接下載(如果視頻是分塊的需要多次下載)
  2. 使用chrome插件捕獲鏈接下載
  3. 在網址url的bilibili後面加jj跳轉到唧唧下載(需要有一定用戶緩存才能,否則可能出現失敗)
  4. 使用碩鼠進行下載
  5. 使用tubeget下載 (已不再支持)
  6. 使用you-get

對於單p視頻其實並不建議使用you-get,因爲你還要設置下載目錄還要爲了安裝you-get設置環境變量。idm抓取最快最好用,但是遇到分塊問題會很麻煩。分塊是什麼見下面

但是難免出現你需要一次性下載一整套視頻(例如網課),此時上面的1、2只能1p1p下載,3如果你遇到了小衆視頻便失敗,而4一定情況下無法激活自動識別連接中全部p,而且批量下載超過20個就需要會員了。

此時you-get變成了不二之選


下面介紹you-get在windows下怎麼安裝怎麼用:

一、安裝依賴

官網還提供了windows下預裝包但是發現新版並不更新預裝包了,所以建議還是老老實實裝依賴吧:
Python3
如果你之前安裝了python2.7,安裝完python3後(記得安裝的時候勾選addtopath,沒勾選的話後面自己添加也可以)需要在設置-系統-關於-系統信息-高級系統選項-環境變量-path中把你的python3路徑上移到pyhton2.7之前。(此方法也可隨時切換你所需要的python版本)
FFmpeg
上官網下載源代碼之後解壓到你想安裝的文件夾,把該文件夾的目錄按照上面的方法添加到path中。隨後cmd中運行ffmpeg查看是否成功
ffmpeg爲必要依賴,以下載流式視頻以及合併分塊視頻(例如b站會把一個視頻分割成很多個小片段,idm每次就只能捕捉到一個小片段),以及YouTube的1080p或更高分辨率.

二、安裝you-get

執行完上面的操作之後便可以開始安裝you-get
首先更新一下pip,不然可能會出現Fatal error in launcher: Unable to create process using的錯誤
在cmd中執行

python -m pip install -U pip

更新完成後會顯示:

Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 16kB/s
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-20.0.2

隨後安裝you-get

pip3 install you-get

運行you-get檢查一下是否安裝成功,成功之後便可以開始下載

三、開始下載

新版本的you-get中支持了批量下載,命令如下:

you-get --playlist 網址(此處網址爲不帶p=x的)

默認下載是最清晰的版本。如果您想下載前查看一下下載的內容啊格式啊可用清晰度啊可以利用-i命令,即:

you-get -i 網址

之後按照上面的提示輸入對應的命令下載對應的版本即可
建議下載的時候添加-o指定一下下載路徑,不然會默認下載到user文件夾中,,於是命令變成了:

you-get -o D:\Download\視頻\名字 --playlist 網址

ctrl+c可以暫停下載,再次提交相同下載請求的時候會默認繼續下載。如果要強制重新下載添加-f即可

PS:有些情況直接使用-l命令會出現下載的文件全部爲第一p文件的情況。這時候用循環可以解決問題:

for /L %i in (1 1 XXXX1XXXX) do @(you-get -o XXXXX2XXXXX https://www.bilibili.com/video/XXXXX3XXXXX?p=%i)

其中XXX1XXX是一共要下載到多少p,2是下載地址,3是av號。注意av號後緊跟?p

四、不下載直接傳進播放器

you-get也可以實現直接將視頻傳進播放器
你需要把你的播放器的執行文件目錄放到path中,隨後調用如下命令:

you-get -p 你的播放器名字 地址
-------------例如
you-get -p PotPlayerMini 地址

隨後你的播放器便會打開播放。但是實測有些網站不可,例如b站…

更多的使用方法可以參考官方文本:
you-get說明

本文參考:
you-get項目說明:https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E#getting-started

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章