About-简介
通常用于下载网站视频的工具有youtube-dl和You-Get;经过测试发现,下载国外视频用youtube-dl比较方便,下载国内视频用You-Get;
不过,由于youtube-dl支持的是Python 2.6, 2.7, or 3.2+,相对来说会方便很多;
这篇文章主要介绍youtube-dl 命令行工具的使用,以及如何在python代码中调用外部 youtube-dl 命令,执行下载操作;
youtube-dl官网
youtube-dlGithub
Download and Install-下载安装
方式一 下载Windows exe程序使用
从官网下载youtube-dl.exe
然后放在电脑的任意目录下即可使用;可以通过下面的命令来更新youtube-dl
方式二 直接使用命令行来安装
在安装了Python之后,按Win+R键打开运行,输入cmd,再输入下面的代码即可自动下载安装youtube-dl
1 2
| pip install youtube-dl //直接安装youtube-dl pip install --upgrade youtube-dl //安装youtube-dl并更新
|
Usage-使用
命令格式为:
1
| youtube-dl [OPTIONS] URL [URL...]
|
常用的选项有:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| -h, --help 打印帮助 --version 显示版本 -U, --update 升级 -i, --ignore-errors 忽略错误继续执行下载操作 --abort-on-error 出现错误中断下载 --dump-user-agent 显示当前的用户代理信息 --list-extractors 显示所有的支持解析 --extractor-descriptions 显示所有的支持解析的描述 --force-generic-extractor 使用通用的解析器强制下载 --default-search PREFIX 对未校验的链接使用默认的前缀 --ignore-config 忽略配置文件 --config-location PATH 使用本地的配置文件 --flat-playlist 不解析播放列表,仅仅显示 --mark-watched 标记视频已看过 --no-mark-watched 不标记已观看 --no-color 忽略颜色输出
|
网络 选项
1 2 3 4 5
| --proxy URL 使用指定的代理 --socket-timeout SECONDS 设置超时时间 --source-address IP 绑定客户端IP地址 -4, --force-ipv4 设置所有链接为 IPv4 -6, --force-ipv6 设置所有链接为 IPv6
|
视频选择
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| --playlist-start NUMBER 播放列表起始位置(默认为 1) --playlist-end NUMBER 播放列表结束位置(默认为 最后) --playlist-items ITEM_SPEC 播放列表特定选项进行下载 --match-title REGEX 只下载匹配相应标题的视频 --reject-title REGEX 跳过已经看过的视频 --max-downloads NUMBER 设置最大下载数量 --min-filesize SIZE 不下载视频大小小于设定值的视频 --max-filesize SIZE 不下载视频大小大于设定值的视频 --date DATE 只下载更新日期为DATE的视频 --datebefore DATE 只下载更新日期早于DATE的视频 --dateafter DATE 只下载更新日期晚于DATE的视频 --min-views COUNT 不下载视频数量小于设定值的视频 --max-views COUNT 不下载视频数量大于设定值的视频 --match-filter FILTER 设置通用的视频过滤器 --no-playlist 如果连接指向视频和播放列表,只下载视频 --yes-playlist 如果连接指向视频和播放列表,只下载播放列表 --age-limit YEARS 只下载指定年份的视频 --download-archive FILE 只下载archive文件中没有的视频 --include-ads 广告视频也一起下载
|
下载选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| -r, --limit-rate RATE 设置下载最大sulv -R, --retries RETRIES 最大的尝试次数 --fragment-retries RETRIES fragment窗口最大的尝试次数 --skip-unavailable-fragments 跳过无效的fragment窗口 --abort-on-unavailable-fragment 当某些窗口失效时,停止下载 --buffer-size SIZE 设置下载缓存 --no-resize-buffer 不要进行下载缓存的自适应 --playlist-reverse 反向下载播放列表视频 --playlist-random 随机下载播放列表视频 --xattr-set-filesize 设置文件xattr属性大小 --hls-prefer-native 使用HLS下载器替代 ffmpeg --hls-prefer-ffmpeg 使用ffmpeg下载器替代HLS --external-downloader COMMAND 使用外部下载器,目前支持: aria2c,avconv,axel,curl,ffmpeg,httpie,wget --external-downloader-args ARGS 设置外部下载器参数
|
文件系统选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| -a, --batch-file FILE 下载指定文件包含的url链接视频 --id 文件名使用视频ID值 -o, --output TEMPLATE 设置输出临时文件名 --autonumber-start NUMBER 指定开始数值for %(autonumber)s(默认为1) --restrict-filenames 限制文件名使用ASCII编码 -w, --no-overwrites 不要覆盖文件 -c, --continue 强制恢复下载文件 --no-continue 不要恢复下载文件 --no-part 不要使用.part 文件 - 直接写入到输出文件 --no-mtime 不要使用最后的修改时间 --write-description 输出视频描述到指定文件 --write-info-json 输出视频元数据metadata 到.info.json 文件 --write-annotations 输出视频标记信息到.annotations.xml 文件 --load-info-json FILE 载入视频信息文件 --cookies FILE 缓存文件 --cache-dir DIR 指定缓存文件目录 --no-cache-dir 关闭文件系统缓存 --rm-cache-dir 删除所有文件系统缓存文件
|
缩略图选项
1 2 3
| --write-thumbnail 下载缩略图 --write-all-thumbnails 下载所有格式的缩略图 --list-thumbnails 仅仅显示缩略图列表
|