命令行下载视频
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 | Videos | Images | Playlist | VIP adaptation |
---|---|---|---|---|---|
抖音 | 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
——未完待续——