命令行下载视频

You-Get

You-Get 乃一小小哒命令行程序,提供便利的方式来下载网络上的媒体信息。

为什么那么多人热衷于命令行下载呢,因为它可以下载网上绝大部分的主流媒体信息,包括Youtube,B站,微博,优酷,网易音乐等等的媒体信息(查看 完整支持列表 ),而你只需要输入一句简单的命令行,这对比网上的一些视频下载方法可以说是很省事的。

项目源地址:https://you-get.org/

其实利用命令行下载并没有看上去那么难,你只需要按部就班跟着做就可以了;

譬如,想要用命令行下载某个视频,那你需要先安装You-Get;

安装


这里只提供Windows系统常规安装方法介绍,其他系统请自行查找安装方法;

需要用到的工具:Python 3

以下是视频格式转换工具,根据自己需求安装:

安装Python的最新版本(目前最新是3.8.2版),安装方法是打开上面的官网下载下来安装即可,安装目录随意(不建议C盘);

安装过程记得勾选几个选项

安装成功之后,就可以输入命令行下载媒体信息了

Win+R调出运行命令框→输入cmd然后确定(Enter)打开命令框;

开始


下载视频

以这视频为例:https://www.bilibili.com/video/BV1TK411L71m

您可以使用 --info/-i 以查看所有可用画质与格式;

即输入命令行:

you-get -i https://www.bilibili.com/video/BV1TK411L71m   #在命令框中鼠标右键即为粘贴
you-get -i https://www.bilibili.com/video/BV1TK411L71m
site:                Bilibili
title:               【咻咻满】芒种  美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版
streams:             # Available quality and codecs
    [ DASH ] ____________________________________
    - format:        dash-flv480
      container:     mp4
      quality:       清晰 480P
      size:          11.8 MiB (12373774 bytes)
    # download-with: you-get --format=dash-flv480 [URL]

    - format:        dash-flv720
      container:     mp4
      quality:       高清 720P
      size:          11.8 MiB (12322266 bytes)
    # download-with: you-get --format=dash-flv720 [URL]

    - format:        dash-flv360
      container:     mp4
      quality:       流畅 360P
      size:          11.7 MiB (12293960 bytes)
    # download-with: you-get --format=dash-flv360 [URL]

    [ DEFAULT ] _________________________________
    - format:        flv720
      container:     flv
      quality:       高清 720P
      size:          17.4 MiB (18233240 bytes)
    # download-with: you-get --format=flv720 [URL]

    - format:        flv480
      container:     flv
      quality:       清晰 480P
      size:          17.4 MiB (18248035 bytes)
    # download-with: you-get --format=flv480 [URL]

    - format:        flv360
      container:     flv
      quality:       流畅 360P
      size:          11.8 MiB (12382231 bytes)
    # download-with: you-get --format=flv360 [URL]

标有DEFAULT 为默认画质。如认同,可下载:

you-get https://www.bilibili.com/video/BV1TK411L71m

或者选择画质下载:

you-get --format=flv480 https://www.bilibili.com/video/BV1TK411L71m
you-get --format=flv480 https://www.bilibili.com/video/BV1TK411L71m
site:                Bilibili
title:               【咻咻满】芒种  美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版
stream:
    - format:        flv480
      container:     flv
      quality:       清晰 480P
      size:          17.4 MiB (18248035 bytes)
    # download-with: you-get --format=flv480 [URL]

Downloading 【咻咻满】芒种  美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版.flv ...
 100% ( 17.4/ 17.4MB) ├████████████████████████████████████████┤[1/1]    606 kB/s

Downloading 【咻咻满】芒种  美美哒版本(Cover 音阙诗听/赵方婧)【主播真
会玩Show艺篇】13芒种 完整版.cmt.xml ...

等待命令行执行完成之后,你会发现视频也已经下载好了,默认下载路径为C盘>用户USR(当前用户文件夹中);

如视频中带有字幕,You-Get也会一并下载下来,如示例中字幕以XML格式保存。

注意事项


升级

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

pip3 install --upgrade you-get

或下载最新更新:

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

查看所有命令

you-get -h

下面会介绍几个常用命令介绍

you-get -h
you-get: version 0.4.1432, a tiny downloader that scrapes the web.
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, --socks-proxy HOST:PORT
                        Use an SOCKS5 proxy for downloading

格式

想要选择格式或画质下载,在you-get后面添加相关标签即可,例如--format=flv480,如不希望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

在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/-xyou-get设置HTTP代理:

you-get -x 127.0.0.1:8087 https://www.youtube.com/watch?v=jNQXAC9IVRw

使用--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,而不是下载:

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格式未来有可能变化。

已知问题

如果 you-get 出现问题,不要惊慌. (是的,问题一直存在!)

看看是不是在 https://github.com/soimort/you-get/wiki/Known-Bugs里面, 搜索 开放Issue. 如果没人报告,开个新issue, 加上详细的命令行输出。

Annie

类似You-Get的命令行下载工具,只是支持视频地址比You-Get少很多(查看 完整支持列表 ),可以作为备用之选。

和You-Get不同的是,由于Annie是Go语言所写,需要在Go环境变量中使用,具体操作请看→下载神器annie的安装及使用

关于用法基本和You-Get差不多,都是一句简单的命令行,而且上文也有提及,这里就不赘述了。

相关事项

项目源地址:https://github.com/iawia002/annie

查看所有命令

annie -h

——未完待续——

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 − 6 =