欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在MAC上用Python第三方包you-get或youtube-dl下载视频

程序员文章站 2022-07-14 19:23:42
...

代理

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.84MiB 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代理

点击就可以查看自己的代理了。
在MAC上用Python第三方包you-get或youtube-dl下载视频

终端输入:

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)

官网
github地址

相关标签: 视频