1. 程式人生 > >在MAC上用Python第三方包you-get或youtube-dl下載視訊

在MAC上用Python第三方包you-get或youtube-dl下載視訊

代理

youtube-dl --proxy socks5://127.0.0.1:1080 +url

就可以下載YouTube上的視訊了。

下載純mp3音訊

youtube-dl -x --audio-format mp3 --proxy socks5://127.0.0.1:1080 + url

安裝與下載

如果已經配置好Python執行環境,則直接安裝兩個包就可以了。
注:如果只要下載國內網站的視訊,只安裝you-get就夠用了,但目前you-get的作者已經不維護它了,所以還是建議用youtube-dl

pip install youtube-dl

使用youtube-dl下載B站上的視訊

youtube-dl https://www.bilibili.com/video/av22679410?from=search&seid=4065988338293283441
[BiliBili] 22679410: Downloading video info page
[download] Destination: 【科普】進化論與熵增原理存在矛盾嗎?-22679410.flv
[download] 100% of 24.00MiB in 01:33

很快就下載好了
還可以下載優酷上的。

youtube-dl http://v.youku.com/v_show/id_XMzU5OTc0MzAwNA==.html
?spm=a2hww.20027244.ykRecommend.5~5!2~5~5~A [youku] XMzU5OTc0MzAwNA: Retrieving cna info [youku] XMzU5OTc0MzAwNA: Downloading JSON metadata [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 11 [download] Destination: 陳翔六點半 - 一個每天都要思考的問題 - 今天吃什麼 #這! 就是搞笑#-XMzU5OTc0MzAwNA.mp4 [download] 100% of 10.84
MiB in 00:11 [ffmpeg] Fixing malformed AAC bitstream in "陳翔六點半 - 一個每天都要思考的問題 - 今天吃什麼 #這! 就是搞笑#-XMzU5OTc0MzAwNA.mp4"

常用的一些設定

youtube-dl --list-extractors  #檢視支援網站列表
youtube-dl -U  #程序升級
youtube-dl --get-format URL #獲取視訊格式
youtube-dl -F URL #獲取所有格式(目前僅支援YouTube),例如:
youtube-dl -F http://www.youtube.com/watch?v=n-BXNXvTvV4

找到自己的代理

下載國外的視訊要加代理,或者設定成全域性模式:
如何檢視代理呢?
我用的是MAC,在:

系統偏好設定-網路-代理-socks代理

點選就可以檢視自己的代理了。
這裡寫圖片描述

終端輸入:

youtube-dl --proxy socks5://代理 url

就可以了
例如我的

 youtube-dl --proxy socks5://127.0.0.1:1080 https://www.youtube.com/watch?v=SgUK3-H7ofw

下載飛快

[youtube] SgUK3-H7ofw: Downloading webpage
[youtube] SgUK3-H7ofw: Downloading video info webpage
[youtube] SgUK3-H7ofw: Extracting video information
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: 全職高手特別篇 第三集 榮耀第六屆全明星週末賽精華 葉修 V.S  輪迴戰隊 杜明 出現伏龍祥天 龍擡頭-SgUK3-H7ofw.f299.mp4
[download]  99.5% of 116.78MiB at 289.24KiB/s ETA 00:01

輸出指定的檔名字

youtube-dl 'http://www.bilibili.com/video/av11728123/' -o '你要的名字'
# 下載至檔案:你要的名字 (無後綴)

下載字幕

youtube-dl --write-sub --skip-download [url] //下載單獨的vtt字幕檔案,而不會下載視訊

youtube-dl --write-sub --all-subs [url] //下載所有語言的字幕(如果有的話)

youtube-dl --write-auto-sub [url] //下載自動生成的字幕(YouTube only)