1 youtube-dl概述
1.1 youtube-dl介绍
youtube-dl 是一款基于 Python 的小型命令行工具,允许从 YouTube、Dailymotion、Google Video、Photobucket、Facebook、Yahoo、Metacafe、Depositfiles、Bilibili 和类似网站下载视频。 它是用 pygtk 编写的,需要 Python 解释器来运行,它不受平台限制,可以在任何 GNU/Linux、Windows 或 macOS 系统上运行。

官网地址:https://ytdl-org.github.io/youtube-dl/index.html
github地址:https://github.com/ytdl-org/youtube-dl
1.2 youtube-dl安装
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
2 youtube-dl 命令参数
USAGE:
youtube-dl [OPTIONS] URL [URL...]
2.1 通用选项
-h, --help 打印帮助文档
--version 打印版本信息
-U, --update 更新到最新版(需要权限)
-i, --ignore-errors 遇到下载错误时跳过
--abort-on-error 遇到下载错误时终止
--dump-user-agent 显示当前使用的浏览器(User-agent)
--list-extractors 列出所有的提取器(支持的网站)
--extractor-descriptions 同上
--force-generic-extractor 强制使用通用提取器下载
--default-search PREFIX 使用此前缀补充不完整的URLs,例如:"ytsearch2 yt-dl" 从youtube搜索并下载两个关于yt-dl视频. 使用"auto"youtube-dl就会猜一个,一般效果等价于"ytsearch"("auto_warning"猜测时加入警告).我已知支持的PREFIX:ytsearch (youtube), ytsearchdate (youtube), yvsearch (yahoo videos), gvsearch (google videos)
--ignore-config 不读取配置文件,当时用了全局配置文件/etc/youtube-dl.conf:不再读取 ~/.config/youtube-dl/config (%APPDATA%/youtube-dl/config.txt on Windows)
--config-location PATH 使用指定路径下的配置文件
--flat-playlist 列出列表视频但不下载
--mark-watched 标记看过此视频 (YouTube only)
--no-mark-watched 不标记看过此视频 (YouTube only)
--no-color 打印到屏幕上的代码不带色
2.2 网络选项
--proxy URL 使用HTTP/HTTPS/SOCKS协议的代理.如:socks5://127.0.0.1:1080/.
--socket-timeout SECONDS 放弃连接前等待时间
--source-address IP 绑定的客户端IP地址
-4, --force-ipv4 所有连接通过IPv4
-6, --force-ipv6 所有连接通过IPv6
2.3 地理限制
--geo-verification-proxy URL 使用此代理地址测试一些有地理限制的地址
--geo-bypass 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验)
--no-geo-bypass 不 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验)
--geo-bypass-country CODE 强制绕过地理限制通过提供准确的ISO 3166-2标准的国别代码(实验) 注:以上三个实验参数实测未成功
2.4 视频选择
--playlist-start NUMBER 指定列表中开始下载的视频(默认为1)
--playlist-end NUMBER 指定列表中结束的视频(默认为last)
--playlist-items ITEM_SPEC 指定列表中要下载的视频项目编号.如:"--playlist-items 1,2,5,8"或"--playlist-items 1-3,7,10-13"
--match-title REGEX 下载标题匹配的视频(正则表达式或区分大小写的字符串)
--reject-title REGEX 跳过下载标题匹配的视频(正则表达式或区分大小写的字符串)
--max-downloads NUMBER 下载NUMBER个视频后停止
--min-filesize SIZE 不下载小于SIZE的视频(e.g. 50k or 44.6m)
--max-filesize SIZE 不下载大于SIZE的视频(e.g. 50k or 44.6m)
--date DATE 仅下载上传日期在指定日期的视频
--datebefore DATE 仅下载上传日期在指定日期或之前的视频 (i.e. inclusive)
--dateafter DATE 仅下载上传日期在指定日期或之后的视频 (i.e. inclusive)
--min-views COUNT 不下载观影数小于指定值的视频
--max-views COUNT 不下载观影数大于指定值的视频
--match-filter FILTER 通用视频过滤器. Specify any key (see help for -o for a list of available keys) to match if the key is present, !key to check if the key is not present, key > NUMBER (like "comment_count > 12", also works with >=, <, <=, !=, =) to compare against a number,key = ‘LITERAL‘ (like "uploader = ‘Mike Smith‘", also works with !=) to match against a string literal and & to require multiple matches. Values which are not known are excluded unless you put a question mark (?) after the operator. For example, to only match videos that

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



