声明:本文主要功能是记录使用 you-get 的感受和经历,也写了一些使用的过程,可以参考,但不是教学式的教程。(需要教程请百度 / 必应一下)

# you-get 初体验

​ 偶尔有看到身边的同学在用 you-get,并推荐给了我们,当时并没有感觉有很棒,但是后来感觉还是很好用的(真香定律。

# you-get 的使用

# 安装

​ 首先我们需要准备 Python 环境,可以去 python 官网下载,大于等于 Python3 即可,我用的是 python3.9.7。

​ 准备好环境之后就可以下载 you-get 了。(cmd 和 git bush 都可以)

1
2
3
4
5
6
7
pip install you-get

# 如果下载的慢,可以使用国内的源站下载
#豆瓣
pip install -i http://pypi.douban.com/simple/ you-get
#清华
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get

​ 安装之后输入

1
you-get

​ 出现如下内容说明安装好了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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 or USERNAME:PASSWORD@HOST:PORT, --socks-proxy HOST:PORT or USERNAME:PASSWORD@HOST:PORT
Use an SOCKS5 proxy for downloading

​ 里面也包含了可用参数和命令。
​ 其中比较重要的有:

选项 说明
-i 显示资源信息,比如说格式、清晰度、大小等
-i 指定下载或查看的 url,有时候可以省略 - u 直接加上 url
-o 设置输出文件夹,即保存路径,若不指定,则保存在当前工作目录
-O 设置文件名,可采用默认文件名
-f 强制覆盖已存在的文件
-l 优先下载整个列表
-P 使用密码(若访问视频需要密码)
-t 设置超时时间,单位是秒
-c 使用 cookie,加载 cookies.txt 或者 cookies.sqlite

# 使用

​ 好的终于是安装成功了,可以愉快的开始使用了。

​ 我们这里以蛋黄派 2021.9.7 更新的视频为例来下载。

​ 输入如下语句来进行下载

1
you-get https://www.bilibili.com/video/BV1Eb4y1U7hY?spm_id_from=333.851.b_7265636f6d6d656e64.1

​ 之后就可以在默认路径下找到你下载的视频啦~

​ 下载成功的话会有一个 MP4 文件和一个 XML 文件,分别对应视频和弹幕。

​ 在这个步骤部分小伙伴会有疑问:为森么我下载下来是 FLV 文件和 XML 文件呢

我们可以通过 -i 指令来查看。

1
you-get -i https://www.bilibili.com/video/BV1Eb4y1U7hY?spm_id_from=333.851.b_7265636f6d6d656e64.1

​ 在这里我们可以找到 1080p 的 MP4 格式的下载指令,于是我们删除之前下载的文件,输入如下代码

1
you-get --format=dash-flv https://www.bilibili.com/video/BV1Eb4y1U7hY?spm_id_from=333.851.b_7265636f6d6d656e64.1

​ 在这一步之后,有人(比如我)会发现:咦?为森么下载了两个 MP4 文件,是原视频的音频和视频分开的那种

​ 这里就要提到一个叫 FFmpeg 的东西了,它可以解决这个问题,具体解决方法建议自行百度 / 必应。(主要是因为我的问题是萱琪姐姐帮忙解决的,具体操作我也不是很清楚

​ 还要推荐一个叫 Windows powerShell 的东西,这个也比较好用。在文件夹处 shift + 邮件即可呼出,我们可以通过 Windows powerShell 来使用 git 和 cmd,当然使用 Windows powerShell 配合 you-get 下载也十分的方便。

​ 最后附上 Windows powerShell 的下载界面。