专栏名称: i小声读书
「电子书支援计划」是一个以电子书为核心的自我学习计划, 以 Telagram 社群为主要载体,致力于促进中文互联网圈内 的知识交流和资源共享,帮助诸位获得更好的阅读资源和阅 读体验,同时鼓励社群内成员输出优质内容。
目录
相关文章推荐
GiantPandaCV  ·  《超大规模操作手册:在 GPU 集群上训练 ... ·  3 天前  
51好读  ›  专栏  ›  i小声读书

一小小哒命令行程序,便可以下载整个互联网世界。

i小声读书  · 公众号  ·  · 2019-07-04 08:08

正文

You-Get 是一个基于 Python 3 的下载工具。使用 You-Get 可以很轻松的下载到网络上的视频、图片及音乐。目前 You-Get 支持的站点数量极多, 囊括了国外的 YouTube、Twitter、Tumblr、Instagram、niconico 等以及国内的爱奇艺、优酷、土豆、腾讯、乐视、哔哩哔哩、网易云音乐、斗鱼、熊猫等。

一小小哒命令行程序,便可以下载整个互联网世界。

至于为什么我们需要用好 You-Get ,我喜欢官方的中文解释:

  • 你欢喜于互联网上的富媒体内容,并为个人寻欢而储存;

  • 你喜悦观看的视频,然而不得保存;对个人设备无从控制,此乃违背开放互联网之行为;

  • 你寻求解脱于闭源软件或 JavaScript 代码,并禁止 Flash 运行;

  • 你为黑客精神与自由软件而欣喜。

不要以为 You-Get 只能下载图片、音视频等媒体材料, 实际上它可以下载任何非 HTML 内容,例如二进制文件。

那该怎么玩呢?

安装

必须安装安装的依赖:

  • Python 3

  • FFmpeg (强烈推荐) or Libav

  • RTMPDump(可选)

通过 pip 安装

you-get 官方版本通过 PyPI 分发, 可从 PyPI 镜像中通过 pip 包管理器安装。

$ pip3 install you-get

使用预装包(仅限 Windows )

exe (单独文件) 或 7z 压缩包可从 https://github.com/soimort/you-get/releases/latest 下载。

Git clone

开发者请使用此方法,在终端运行如下代码:

$ git clone git://github.com/soimort/you-get.git

升级更新

每隔一段时间,随着一些视频网站的更新,you-get 便无法解析这些视频网站,因此需要及时更新到最新版本的 you-get。

考虑到 you-get 安装方法的差异, 请使用:

$ pip3 install --upgrade you-get

或下载最新更新:

$ you-get https://github.com/soimort/you-get/archive/master.zip

开始

下载视频

当看到感兴趣的视频,可以使用 --info/-i 以查看所有可用画质与格式:

$ 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 的大图有效,无法支持所有网站。

在 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'

系统代理 (即系统变量 http_proxy ) 自动使用,使用 --no-proxy 强行关闭。

提示:







请到「今天看啥」查看全文