You-Get開源線上下載神器,搭配python更加絲滑(文中案例演示)

Python研究者發表於2021-09-07

大家好,我是辰哥

今天給大家介紹一個號稱可以下載全網視訊、音訊、影像的開源庫

——you-get

you-get

這裡說全網可能一點誇張,但如果實際上去使用you-get下載媒體檔案(視訊、音訊、影像),對於主流的平臺幾乎都可以滿足需求。

目前you-get支援下載的媒體檔案平臺80+(包括國內國外),像國內常用的各種主流視訊平臺(某站、某手、某音、某酷等)。

具體支援哪些平臺,可以參考下方連結

https://github.com/soimort/you-get

安裝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可以執行終端命令

同樣下載和終端效果一樣

本文乾貨到此結束

有任何疑問小夥伴們歡迎下方留言討論哈~

相關文章