Loading... **是命令行程序,用来下载网络上媒体信息。** 利用`you-get`下载[这个网页](http://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society)的视频: ``` $ you-get http://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society Site: fsf.org Title: TEDxGE2014_Stallman05_LQ Type: WebM video (video/webm) Size: 27.12 MiB (28435804 Bytes) Downloading TEDxGE2014_Stallman05_LQ.webm ... 100.0% ( 27.1/27.1 MB) ├████████████████████████████████████████┤[1/1] 12 MB/s ``` ### 以下乃必要依赖,需要单独安装,除非于Windows下使用预包装包: * **[Python 3](https://www.python.org/downloads/)** * **[FFmpeg](https://www.ffmpeg.org/)** (强烈推荐) or [Libav](https://libav.org/) * (可选) [RTMPDump](https://rtmpdump.mplayerhq.hu/) ### 选项 1: 通过pip安装 `you-get`之官方版本通过[PyPI](https://pypi.python.org/pypi/you-get)分发, 可从PyPI镜像中通过[pip](https://en.wikipedia.org/wiki/Pip_(package_manager)) 包管理器安装. 须知您务必使用版本3的 `pip`: ``` $ pip3 install you-getCopy ``` ### ### 选项 2: 使用预装包(仅供Windows) `exe` (单独文件) 或 `7z` (包括所有依赖) 可从[https://github.com/soimort/you-get/releases/latest](https://github.com/soimort/you-get/releases/latest) 下载. ### 选项 3: 于GitHub下载 您可选择[稳定版](https://github.com/soimort/you-get/archive/master.zip) (与PyPI最新版等同) 或 [开发版](https://github.com/soimort/you-get/archive/develop.zip) (更多的热补丁与不稳定功能)的`you-get`. 解压并将含有`you-get`的目录加入`PATH`. 或者, 运行 ``` $ make install ``` 以安装`you-get` 于永久路径. ### 选项 4: Git clone 即使您不常使用Python,作为开发者,也请使用此方法。 ``` $ git clone git://github.com/soimort/you-get.git ``` 将目录加入 `PATH`, 或运行 `make install` 以安装`you-get` 于永久路径. ## 升级 考虑到 `you-get` 安装方法之差异, 请使用: ``` $ pip3 install --upgrade you-getCopy ``` 或下载最新更新: ``` $ you-get https://github.com/soimort/you-get/archive/master.zip ``` ## ### 下载视频 当观赏感兴趣之视频,您可以使用 `--info`/`-i` 以查看所有可用画质与格式、s: ``` $ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw' site: YouTube title: Me at the zoo streams: # Available quality and codecs [ DEFAULT ] _________________________________ - itag: 43 container: webm quality: medium size: 0.5 MiB (564215 bytes) # download-with: you-get --itag=43 [URL] - itag: 18 container: mp4 quality: medium # download-with: you-get --itag=18 [URL] - itag: 5 container: flv quality: small # download-with: you-get --itag=5 [URL] - itag: 36 container: 3gp quality: small # download-with: you-get --itag=36 [URL] - itag: 17 container: 3gp quality: small # download-with: you-get --itag=17 [URL] ``` 标有`DEFAULT` 为默认画质。如认同,可下载: ``` $ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw' site: YouTube title: Me at the zoo stream: - itag: 43 container: webm quality: medium size: 0.5 MiB (564215 bytes) # download-with: you-get --itag=43 [URL] Downloading zoo.webm ... 100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 7 MB/s Saving Me at the zoo.en.srt ...Done. ``` (如YouTube视频带有字幕,将被一同下载,以SubRip格式保存.) 或,如您希望其他格式(mp4),请使用其他提示选项: ``` $ you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw' ``` **注意:** * 目前,格式选择没有大规模铺开;默认选项为最高画质. * `ffmpeg`为必要依赖,以下载流式视频以及合并分块视频(例如,类似Youku), 以及YouTube的1080p或更高分辨率. * 如不希望`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 ``` **注意:** * 此功能为测试性,远未完成。对于类似Tumblr和Blogger的大图有效,但是没有办法为所有网站建立通用格式. ### 在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 -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw' ``` 然而系统代理 (即系统变量`http_proxy`) 自动使用. 使用`--no-proxy`强行关闭. **提示:** * 如果经常使用代理 (网络封锁了部分网站), 考虑将`you-get`和 [proxychains](https://github.com/rofl0r/proxychains-ng) 一同使用,并设置`alias you-get="proxychains -q you-get"` (于命令行). * 对于某些网站(例如Youku), 如果你需要下载仅供中国大陆观看的视频, 可以使用 `--extractor-proxy`/`-y`单独为解析器设置代理. 可以使用 `-y proxy.uku.im:8888` (鸣谢: [Unblock Youku](https://github.com/zhuzhuor/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` 和 Netscape `cookies.txt`. ### 复用解析数据 使用 `--url`/`-u` 获得页面所有可下载URL列表. 使用 `--json`以获得JSON格式. **警告:** * 目前此功能**未定型**,JSON格式未来有可能变化. ## 作者 [@soimort](https://github.com/soimort), 由 ::coffee::, ::pizza:: 和 ::ramen:: 强力驱动. 在此查看 [贡献者名单](https://github.com/soimort/you-get/graphs/contributors). 侵删转自:[中文说明](https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E) --- #### [一行脚本批量下载哔哩哔哩视频](https://www.jianshu.com/p/e323cf85bd3d) 比如下载[https://www.bilibili.com/video/av33087749/?p=](https://www.bilibili.com/video/av33087749/?p=)的1到3集。 ``` for i in $(seq 1 3); do you-get https://www.bilibili.com/video/av33087749/?p=$i; done ``` 条件:先安装you-get。我这是mac的bash ### 使用方法 1. 安装`you-get`[官网](https://github.com/soimort/you-get) 我这里用选了 `brew install you-get` 这个命令 2. 找URL 打开哔哩哔哩上的多续集视频。随便选一个视频,这是地址栏的url就是想要的url。`p=`后接的就是集数。 然后用下面这个模板填写 ``` for i in $(seq 开始集数 结束计数); do you-get url$i; done ``` #### 用脚本文件 ``` #!/usr/bin/env bash for i in $(seq $2 $3); do you-get $1$i; done ``` 运行脚本 ``` sh bilibil.sh https://www.bilibili.com/video/av33087749/?p= 1 3 ``` 这里脚本名称为 bilibil.sh 关于 you-get 还有很多用途我常用的是看查看信息 ``` you-get -i url ``` ### 补充 发现了更简单的方法 ``` you-get -l url ``` 会下载所有续集 作者:jianshudxw 链接:https://www.jianshu.com/p/e323cf85bd3d 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 最后修改:2024 年 10 月 07 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏