前言

在B站或有关上看到一个特棒的视频有木有想过将资源下载下载收藏到秘密空间?

你是各种度娘各种谷歌,一顿操作猛如虎 ….

你试过使用谷歌插件 bilibili哔哩哔哩下载助手,也试过 youtube-dl 最后又转战到 IDM。

你会发现:bilibili哔哩哔哩下载助手 是真的好用,但是有时候总是遇到资源错误。youtube-dl 是各种不支持的解析连接,至于 IDM 需要破解……

这里就介绍一款工具 You-Get,该工具可利用页面连接进行下载诸如 B站、油管等视频资源,其他的网站也是可以的。

You-Get Github 仓库地址是:https://github.com/soimort/you-get

除此之外,还至此选择清晰度下载~

安装

以 Mac 为例, 使用 brew 下载即可:

  1. $ brew install you-get

另外,你也可以直接浏览 You-Get Github 浏览仓库信息。

安装成功后可以使用 --help 命令查看有关帮助信息。

下面以 B站 视频 《中国惊奇先生》 为例:

下载 B站视频

《中国惊奇先生》B站链接为 https://www.bilibili.com/bangumi/play/ss10086

在下载之前先使用 you-get 查看视频信息,命令如下:

  1. $ you-get -i [url] --debug
  • -i 是用于查看视频信息
  • --debug 是使用 Debug 输出信息(可选)

下面使用该命令进行查看视频资源信息:

  1. $ you-get -i https://www.bilibili.com/bangumi/play/ss10086

输出信息如下:

  1. site: Bilibili
  2. title: 中国惊奇先生
  3. streams: # Available quality and codecs
  4. [ DEFAULT ] _________________________________
  5. - format: flv
  6. container: flv
  7. quality: 高清 1080P
  8. size: 1018.0 MiB (1067408284 bytes)
  9. # download-with: you-get --format=flv [URL]
  10. - format: flv720
  11. container: flv
  12. quality: 高清 720P
  13. size: 1018.0 MiB (1067408284 bytes)
  14. # download-with: you-get --format=flv720 [URL]
  15. - format: flv480
  16. container: flv
  17. quality: 清晰 480P
  18. size: 1018.0 MiB (1067408284 bytes)
  19. # download-with: you-get --format=flv480 [URL]
  20. - format: flv360
  21. container: flv
  22. quality: 流畅 360P
  23. size: 673.6 MiB (706331809 bytes)
  24. # download-with: you-get --format=flv360 [URL]

根据提示即可下载具体清晰度,以高清 1080P为例:

  1. $ you-get --format=flv https://www.bilibili.com/bangumi/play/ss10086

最后下载信息如下所示:

  1. site: Bilibili
  2. title: 中国惊奇先生
  3. stream:
  4. - format: flv
  5. container: flv
  6. quality: 高清 1080P
  7. size: 1018.0 MiB (1067408284 bytes)
  8. # download-with: you-get --format=flv [URL]
  9. Downloading 中国惊奇先生.mp4 ...
  10. 13.7% ( 139.6/1018.0MB) ├████████████──────────────────────────────────────────────────────────────────────────┤[ 5/27] 258 kB/s

除此之外,你可以使用 -O 选项指定文件名。也可以使用 -o 选项指定下载到指定目录,不指定即默认下载到当前目录,示例:

指定下载到具体目录:

  1. $ you-get --format=flv [url] -o ~/Download

指定下载到具体目录并指定文件名:

  1. $ you-get --format=flv [url] -o ~/Download -O 中国惊奇先生.mp4

下载B站大会员视频

B 站上有些视频是只有大会员才有权限观看的,you-get 没法直接下载这类视频。不过该用具提供了可以添加 cookies 参数:

  1. -c COOKIES_FILE, --cookies COOKIES_FILE
  2. Load cookies.txt or cookies.sqlite

我们只需要使用大会员账号登录后借助 EditThisCookie 等这类能够获取并下载网站 cookies 的工具,将 cookies 下载到本地文件即可:

使用 You-Get 下载B站油管等视频资源 - 图1

比如下载后的 cookies 文件名为:cookies.txt。然后使用 -c--cookies 参数指定该文件即可下载大会员视频了:

  1. $ you-get -c cookies.txt --format=flv [大会员视频链接]

使用 Docker

有的时候会觉得直接在机器上安装 you-get 不太方便(比如工作电脑?),所以这个时候使用 docker 就显得很有必要的。you-get docker 镜像仓库地址是(非作者):

https://hub.docker.com/r/kmdgeek/you-get

kmdgeek/you-get 镜像默认会将文件下载到容器的 /download 目录,因此我们只需要将宿主机上的某个目录与该目录做个映射即可。

还是以《中国惊奇先生》 为例,使用该镜像将视频下载到我的 /tmp/download 目录下:

  1. $ docker run --rm -v /tmp/download:/download kmdgeek/you-get --format=flv https://www.bilibili.com/bangumi/play/ss10086
  2. Unable to find image 'kmdgeek/you-get:latest' locally
  3. latest: Pulling from kmdgeek/you-get
  4. 540db60ca938: Pull complete
  5. d037ddac5dde: Pull complete
  6. 629719f9106a: Pull complete
  7. f9ef3a05a91e: Pull complete
  8. a953f4282204: Pull complete
  9. dad1a55a02de: Pull complete
  10. Digest: sha256:45ab8bd426a3e17d8c6ef766b84b2dcb586a4bf76186fc0f4b028308974ceb9f
  11. Status: Downloaded newer image for kmdgeek/you-get:latest
  12. site: Bilibili
  13. title: 中国惊奇先生
  14. stream:
  15. - format: flv
  16. container: flv
  17. quality: 高清 1080P
  18. size: 1018.0 MiB (1067408284 bytes)
  19. # download-with: you-get --format=flv [URL]
  20. Downloading 中国惊奇先生.mp4 ...
  21. 11.8% ( 120.6/1018.0MB) ├████────────────────────────────────┤[ 5/27] 1 MB/s

写在最后

如果你以为 You-Get 仅仅只能下载视频资源你就 图样图深破

  • 下载图片?
  1. $ you-get -i https://stallman.org/rms.jpg
  2. Site: stallman.org
  3. Title: rms
  4. Type: JPEG Image (image/jpeg)
  5. Size: 0.06 MiB (66482 Bytes)
  6. $ you-get https://stallman.org/rms.jpg

https://github.com/soimort/you-get