命令行下载视频
You-Get
You-Get 乃一小小哒命令行程序,提供便利的方式来下载网络上的媒体信息。
为什么那么多人热衷于命令行下载呢,因为它可以下载网上绝大部分的主流媒体信息,包括Youtube,B站,微博,优酷,网易音乐等等的媒体信息,而你只需要输入一句简单的命令行,这对比网上的一些视频下载方法可以说是很省事的。
You-Get支持的网站列表
项目源地址:https://you-get.org/
其实利用命令行下载并没有看上去那么难,你只需要按部就班跟着做就可以了;
譬如,想要用命令行下载某个视频,那你需要先安装You-Get;
安装
这里只提供Windows系统常规安装方法介绍,其他系统请自行查找安装方法;
需要用到的工具:Python 3
以下是视频格式转换工具,根据自己需求安装:
安装Python的最新版本(目前最新是3.8.2版),安装方法是打开上面的官网下载下来安装即可,安装目录随意(不建议C盘);
安装过程记得勾选几个选项

安装成功之后,就可以输入命令行下载媒体信息了
Win+R调出运行命令框→输入cmd然后确定(Enter)打开命令框;
开始
下载视频
以这视频为例:https://www.bilibili.com/video/BV1TK411L71m
您可以使用 --info/-i 以查看所有可用画质与格式;
即输入命令行:
you-get -i https://www.bilibili.com/video/BV1TK411L71m #在命令框中鼠标右键即为粘贴
you-get -i https://www.bilibili.com/video/BV1TK411L71m
site: Bilibili
title: 【咻咻满】芒种 美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版
streams: # Available quality and codecs
[ DASH ] ____________________________________
- format: dash-flv480
container: mp4
quality: 清晰 480P
size: 11.8 MiB (12373774 bytes)
# download-with: you-get --format=dash-flv480 [URL]
- format: dash-flv720
container: mp4
quality: 高清 720P
size: 11.8 MiB (12322266 bytes)
# download-with: you-get --format=dash-flv720 [URL]
- format: dash-flv360
container: mp4
quality: 流畅 360P
size: 11.7 MiB (12293960 bytes)
# download-with: you-get --format=dash-flv360 [URL]
[ DEFAULT ] _________________________________
- format: flv720
container: flv
quality: 高清 720P
size: 17.4 MiB (18233240 bytes)
# download-with: you-get --format=flv720 [URL]
- format: flv480
container: flv
quality: 清晰 480P
size: 17.4 MiB (18248035 bytes)
# download-with: you-get --format=flv480 [URL]
- format: flv360
container: flv
quality: 流畅 360P
size: 11.8 MiB (12382231 bytes)
# download-with: you-get --format=flv360 [URL]
标有DEFAULT 为默认画质。如认同,可下载:
you-get https://www.bilibili.com/video/BV1TK411L71m
或者选择画质下载:
you-get --format=flv480 https://www.bilibili.com/video/BV1TK411L71m
you-get --format=flv480 https://www.bilibili.com/video/BV1TK411L71m
site: Bilibili
title: 【咻咻满】芒种 美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版
stream:
- format: flv480
container: flv
quality: 清晰 480P
size: 17.4 MiB (18248035 bytes)
# download-with: you-get --format=flv480 [URL]
Downloading 【咻咻满】芒种 美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版.flv ...
100% ( 17.4/ 17.4MB) ├████████████████████████████████████████┤[1/1] 606 kB/s
Downloading 【咻咻满】芒种 美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版.cmt.xml ...
等待命令行执行完成之后,你会发现视频也已经下载好了,默认下载路径为C盘>用户USR(当前用户文件夹中);
如视频中带有字幕,You-Get也会一并下载下来,如示例中字幕以XML格式保存。

注意事项
升级
考虑到 you-get 安装方法之差异, 请使用:
pip3 install --upgrade you-get
或下载最新更新:
you-get https://github.com/soimort/you-get/archive/master.zip
查看所有命令
you-get -h
下面会介绍几个常用命令介绍
you-get -h
you-get: version 0.4.1432, a tiny downloader that scrapes the web.
usage: you-get [OPTION]... URL...
A tiny downloader that scrapes the web
optional arguments:
-V, --version Print version and exit
-h, --help Print this help message and exit
Dry-run options:
(no actual downloading)
-i, --info Print extracted information
-u, --url Print extracted information with URLs
--json Print extracted URLs in JSON format
Download options:
-n, --no-merge Do not merge video parts
--no-caption Do not download captions (subtitles, lyrics, danmaku,
...)
-f, --force Force overwriting existing files
--skip-existing-file-size-check
Skip existing file without checking file size
-F STREAM_ID, --format STREAM_ID
Set video format to STREAM_ID
-O FILE, --output-filename FILE
Set output filename
-o DIR, --output-dir DIR
Set output directory
-p PLAYER, --player PLAYER
Stream extracted URL to a PLAYER
-c COOKIES_FILE, --cookies COOKIES_FILE
Load cookies.txt or cookies.sqlite
-t SECONDS, --timeout SECONDS
Set socket timeout
-d, --debug Show traceback and other debug info
-I FILE, --input-file FILE
Read non-playlist URLs from FILE
-P PASSWORD, --password PASSWORD
Set video visit password to PASSWORD
-l, --playlist Prefer to download a playlist
-a, --auto-rename Auto rename same name different files
-k, --insecure ignore ssl errors
Proxy options:
-x HOST:PORT, --http-proxy HOST:PORT
Use an HTTP proxy for downloading
-y HOST:PORT, --extractor-proxy HOST:PORT
Use an HTTP proxy for extracting only
--no-proxy Never use a proxy
-s HOST:PORT, --socks-proxy HOST:PORT
Use an SOCKS5 proxy for downloading
格式
想要选择格式或画质下载,在you-get后面添加相关标签即可,例如--format=flv480,如不希望you-get合并视频,使用--no-merge/-n
下载其他内容
如你有URL,可以直接使用:
you-get https://stallman.org/rms.jpg Site: stallman.org Title: rms Type: JPEG Image (image/jpeg) Size: 0.06 MiB (66482 Bytes) Downloading rms.jpg ... 100.0% ( 0.1/0.1 MB) ├████████████████████████████████████████┤[1/1] 127 kB/s
或者, you-get将自动检查网页,下载一切有可能感兴趣的内容:
you-get http://kopasas.tumblr.com/post/69361932517 Site: Tumblr.com Title: kopasas Type: Unknown type (None) Size: 0.51 MiB (536583 Bytes) Site: Tumblr.com Title: tumblr_mxhg13jx4n1sftq6do1_1280 Type: Portable Network Graphics (image/png) Size: 0.51 MiB (536583 Bytes) Downloading tumblr_mxhg13jx4n1sftq6do1_1280.png ... 100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 22 MB/s
在Google Videos搜索并下载
you-get可以下载任何东西. 如果不是合法的URL, you-get将在Google查找并下载最相关视频.(可能不是最心仪的)。
you-get "Richard Stallman eats"
暂停与恢复下载
可以使用Ctrl+C 暂停下载.
临时的.download文件将保存于输出目录。下次使用you-get传入相同参数时,下载将从上次继续开始。如果下载已经完成 (临时的.download 扩展名消失),you-get将忽略下载.
用--force/-f强行重下载. (注意: 将覆盖同名文件或临时文件!)
设置输出文件名或路径
使用--output-dir/-o 设定路径, --output-filename/-O 设定输出文件名:
you-get -o ~/Videos -O zoo.webm https://www.youtube.com/watch?v=jNQXAC9IVRw
提示:
- 如果原视频标题含有与系统不兼容字符,这将十分有效.
- 也可以帮助使用脚本批量下载于指定目录和文件名.
代理设置
使用 --http-proxy/-x为you-get设置HTTP代理:
you-get -x 127.0.0.1:8087 https://www.youtube.com/watch?v=jNQXAC9IVRw
使用--no-proxy可强行关闭。
提示:
- 如果经常使用代理 (网络封锁了部分网站), 考虑将
you-get和 proxychains 一同使用,并设置alias you-get="proxychains -q you-get"(于命令行)。 - 对于某些网站(例如Youku), 如果你需要下载仅供中国大陆观看的视频, 可以使用
--extractor-proxy/-y单独为解析器设置代理. 可以使用-y proxy.uku.im:8888(鸣谢: Unblock Youku 项目)。
观看视频
使用 --player/-p 将视频投放到播放器播放, 例如 mplayer 或者 vlc,而不是下载:
you-get -p vlc https://www.youtube.com/watch?v=jNQXAC9IVRw
或者你想在浏览器中观看而不希望看广告或评论区:
$ you-get -p chromium https://www.youtube.com/watch?v=jNQXAC9IVRw
提示:
- 可以使用
-p开启下载工具,例如you-get -p uget-gtk https://www.youtube.com/watch?v=jNQXAC9IVRw, 有时候有可能不灵。
加载cookie
并非所有视频可供任何人观看。如果需要登录以观看 (例如, 私密视频), 可能必须将浏览器cookie通过--cookies/-c 加载入 you-get
注意:
- 目前我们支持两种cookie格式:Mozilla
cookies.sqlite和 Netscapecookies.txt.
复用解析数据
使用 --url/-u 获得页面所有可下载URL列表. 使用 --json以获得JSON格式.
警告:
- 目前此功能未定型,JSON格式未来有可能变化。
已知问题
如果 you-get 出现问题,不要惊慌. (是的,问题一直存在!)
看看是不是在 https://github.com/soimort/you-get/wiki/Known-Bugs里面, 搜索 开放Issue. 如果没人报告,开个新issue, 加上详细的命令行输出。
Annie
类似You-Get的命令行下载工具,只是支持视频地址比You-Get少很多,可以作为备用之选。
| Site | URL | ||||
|---|---|---|---|---|---|
| 抖音 | https://www.douyin.com | ✓ | |||
| 哔哩哔哩 | https://www.bilibili.com | ✓ | ✓ | ✓ | |
| 半次元 | https://bcy.net | ✓ | |||
| pixivision | https://www.pixivision.net | ✓ | |||
| 优酷 | https://www.youku.com | ✓ | ✓ | ||
| YouTube | https://www.youtube.com | ✓ | ✓ | ||
| 爱奇艺 | https://www.iqiyi.com | ✓ | |||
| 芒果TV | https://www.mgtv.com | ✓ | |||
| 糖豆广场舞 | http://www.tangdou.com | ✓ | ✓ | ||
| Tumblr | https://www.tumblr.com | ✓ | ✓ | ||
| Vimeo | https://vimeo.com | ✓ | |||
| https://facebook.com | ✓ | ||||
| 斗鱼视频 | https://v.douyu.com | ✓ | |||
| 秒拍 | https://www.miaopai.com | ✓ | |||
| 微博 | https://weibo.com | ✓ | |||
| https://www.instagram.com | ✓ | ✓ | |||
| https://twitter.com | ✓ | ||||
| 腾讯视频 | https://v.qq.com | ✓ | |||
| 网易云音乐 | https://music.163.com | ✓ | |||
| 音悦台 | https://yinyuetai.com | ✓ | |||
| 极客时间 | https://time.geekbang.org | ✓ | |||
| Pornhub | https://pornhub.com | ✓ | |||
| XVIDEOS | https://xvideos.com | ✓ | |||
| 聯合新聞網 | https://udn.com | ✓ | |||
| TikTok | https://www.tiktok.com | ✓ |
和You-Get不同的是,由于Annie是Go语言所写,需要在Go环境变量中使用,具体操作请看→下载神器annie的安装及使用;
关于用法基本和You-Get差不多,都是一句简单的命令行,而且上文也有提及,这里就不赘述了。
相关事项
项目源地址:https://github.com/iawia002/annie
查看所有命令
annie -h
——未完待续——
