You-Get下载视频教程
You-Get下载视频教程
RamsayiYou-Get 乃一小小哒命令行程序,提供便利的方式来下载网络上的媒体信息。
利用you-get
下载这个网页的视频:
1 | $ you-get http://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society |
为什么你要好好的用 You-get:
- 你欢喜于互联网上的富媒体内容,并为个人寻欢而储存
- 你喜悦观看的视频,然而不得保存;对个人设备无从控制,此乃违背开放互联网之行为
- 你寻求解脱于闭源软件或 JavaScript 代码,并禁止 Flash 运行
- 你为黑客精神与自由软件而欣喜
you-get
之功用:
- 下载流行网站之音视频,例如 YouTube, Youku, Niconico,以及更多. (查看完整支持列表)
- 于您心仪的媒体播放器中观看在线视频,脱离浏览器与广告
- 下载您喜欢的网页上的图片
- 下载任何非 HTML 内容,例如二进制文件
使用 Python 编程?敬请查看 源代码 并 fork!
安装
绪论
以下乃必要依赖,需要单独安装,除非于 Windows 下使用预包装包:
选项 1: 通过 pip 安装
you-get
之官方版本通过PyPI分发, 可从 PyPI 镜像中通过pip 包管理器安装. 须知您务必使用版本 3 的 pip
:
1 | $ pip3 install you-get |
选项 2: 使用预装包(仅供 Windows)
exe
(单独文件) 或 7z
(包括所有依赖) 可从https://github.com/soimort/you-get/releases/latest 下载.
选项 3: 于 GitHub 下载
您可选择稳定版 (与 PyPI 最新版等同) 或 开发版 (更多的热补丁与不稳定功能)的you-get
. 解压并将含有you-get
的目录加入PATH
.
或者, 运行
1 | $ make install |
以安装you-get
于永久路径.
选项 4: Git clone
即使您不常使用 Python,作为开发者,也请使用此方法。
1 | $ git clone git://github.com/soimort/you-get.git |
将目录加入 PATH
, 或运行 make install
以安装you-get
于永久路径.
升级
考虑到 you-get
安装方法之差异, 请使用:
1 | $ pip3 install --upgrade you-get |
或下载最新更新:
1 | $ you-get https://github.com/soimort/you-get/archive/master.zip |
开始
下载视频
当观赏感兴趣之视频,您可以使用 --info
/-i
以查看所有可用画质与格式、s:
1 | $ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
标有DEFAULT
为默认画质。如认同,可下载:
1 | $ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
(如 YouTube 视频带有字幕,将被一同下载,以 SubRip 格式保存.)
或,如您希望其他格式(mp4),请使用其他提示选项:
1 | $ you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
注意:
- 目前,格式选择没有大规模铺开;默认选项为最高画质.
ffmpeg
为必要依赖,以下载流式视频以及合并分块视频(例如,类似 Youku), 以及 YouTube 的 1080p 或更高分辨率.- 如不希望
you-get
合并视频,使用--no-merge
/-n
.
下载其他内容
如你有 URL,可以直接使用:
1 | $ you-get https://stallman.org/rms.jpg |
或者, you-get
将自动检查网页,下载一切有可能感兴趣的内容:
1 | $ you-get http://kopasas.tumblr.com/post/69361932517 |
注意:
- 此功能为测试性,远未完成。对于类似 Tumblr 和 Blogger 的大图有效,但是没有办法为所有网站建立通用格式.
在 Google Videos 搜索并下载
you-get
可以吃任何东西. 如果不是合法的 URL, you-get
将在 Google 查找并下载最相关视频. (可能不是最心仪的,但是很有可能)
1 | $ you-get "Richard Stallman eats" |
暂停与恢复下载
可以使用 Ctrl+C 暂停下载.
临时的.download
文件将保存于输出目录。下次使用you-get
传入相同参数时,下载将从上次继续开始. 如果下载已经完成 (临时的.download
扩展名消失), you-get
将忽略下载.
用--force
/-f
强行重下载. (注意: 将覆盖同名文件或临时文件!)
设置输出文件名或路径
使用--output-dir
/-o
设定路径, --output-filename
/-O
设定输出文件名:
1 | $ you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
提示:
- 如果原视频标题含有与系统不兼容字符,十分有效.
- 也可以帮助使用脚本批量下载于指定目录和文件名.
代理设置
使用 --http-proxy
/-x
为you-get
设置 HTTP 代理:
1 | $ you-get -x 127.0.0.1:8087 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
然而系统代理 (即系统变量http_proxy
) 自动使用. 使用--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
,而不是下载:
1 | $ you-get -p vlc 'https://www.youtube.com/watch?v=jNQXAC9IVRw' |
或者你想在浏览器中观看而不希望看广告或评论区:
1 | $ 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, 加上详细的命令行输出.
参与我们
使用 Gitter #soimort/you-get (如何为 Gitter 设置 IRC 客户端 ). 如果是个关于 you-get
的小问题, 在这里问.
我们欢迎各种 pull requestse. 然而请注意:
- 你要向
develop
分支发 PR. - 记得 rebase.
- 写出详细文档,如果可以,给出一些测试 URL.
- commit message 格式优美,清晰可读. 如果不知道,看看以往的.
- 我们不会强制你签署 CLA, 但是你必须确保你的代码可以被合法分发(使用 MIT 协议).
法律问题
本软件使用 MIT 协议.
请特别注意:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(一个中文翻译可在http://lucien.cc/?p=15 查询。)
人话:
如果你使用本软件进行盗版行为,或者非法行径,作者不为你负责.
我们仅提供代码, 如何使用请自行考虑.