大家好,我是辰哥
今天給大家介紹一個號稱可以下載全網視訊、音訊、影像的開源庫
——you-get
you-get
這裡說全網可能一點誇張,但如果實際上去使用you-get下載媒體檔案(視訊、音訊、影像),對於主流的平臺幾乎都可以滿足需求。
目前you-get支援下載的媒體檔案平臺80+(包括國內國外),像國內常用的各種主流視訊平臺(某站、某手、某音、某酷等)。
具體支援哪些平臺,可以參考下方連結
安裝you-get
you-get是python的一個庫,因此通過pip方式直接進行安裝
pip install you-get
使用you-get
you-get的使用很簡單,一行命令就可以搞定
命令格式:
you-get [媒體檔案URL]
【備註】上方的命令是在終端中執行
下面以辰哥的一個視訊進行舉例:
you-get https://www.bilibili.com/video/BV1Ef4y137ex
當前的終端中路徑處於桌面,所以下載好的視訊儲存在桌面,其儲存的格式為flv
命令:you-get [媒體檔案URL]
上面預設的命令下載好的視訊是flv格式,此外you-get可以設定引數
具體引數以及用法如下:
-i 【解析視訊資訊】
-o【儲存地址】
-u【解析視訊真實地址】
--json【視訊的json資訊】
引數-i用法:
you-get -i https://www.bilibili.com/video/BV1Ef4y137ex
羅列出了該視訊在下載儲存時可以選擇不同的格式,具體如下:
you-get --format=dash-flv https://www.bilibili.com/video/BV1Ef4y137ex
選擇第一個(高清1080p的mp4格式)
引數-o用法:
you-get -o /Users/lyc https://www.bilibili.com/video/BV1Ef4y137ex
下載的視訊儲存到路徑:/Users/lyc
引數-u用法:
you-get -u https://www.bilibili.com/video/BV1Ef4y137ex
解析視訊的真實連結
引數--json用法:
you-get --json https://www.bilibili.com/video/BV1Ef4y137ex
解析視訊的json資訊(不同高清格式真實播放地址)
圖片或音樂
同樣的,音樂和圖片也是一樣的下載
命令:you-get [媒體檔案URL]
演示:
配合Python使用
為了實現批量下載或者與程式碼(Python)結合,you-get通常都是通過程式碼去使用,而非在終端。
下面教大家如何在在程式碼中去實現上面終端執行的效果
同樣還是下載視訊
from you_get import common
#視訊連結
v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
#儲存格式
v_format = 'dash-flv'
#儲存路徑
save_dir = r'/Users/lyc/'
common.any_download(url=v_url,stream_id=v_format,info_only=False,output_dir=save_dir,merge=True)
通過程式碼去使用you-get就可以成功把視訊下載儲存到指定位置
擴充套件:
相信大家都瞭解過爬蟲,甚至寫過爬蟲,you-get和爬蟲結合,爬蟲採集到視訊連結(非真實連結)然後通過you-get進行下載
此外還有另外一種方法
import os
# #視訊連結
v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
# #儲存格式
v_format = 'dash-flv'
# #儲存路徑
save_dir = r'/Users/lyc/'
tem_cmd = "you-get --format="+v_format+" -o "+save_dir +" " +v_url
#you-get --format=dash-flv -o /Users/lyc/ https://www.bilibili.com/video/BV1Ef4y137ex
result = os.system(tem_cmd );
print(result)
通過os.system可以執行終端命令
同樣下載和終端效果一樣
本文乾貨到此結束
有任何疑問小夥伴們歡迎下方留言討論哈~