lux(annie)是个github上的一个开源项目,可以使用他来下载网上各个平台的视频、音频、图片。
支持的站点也不少**(ps: 对于一些反爬机制较好的网站可能不能下载,比如抖音、快手)**
github使用说明页面提供windows、linux、Macos的使用教程,scoop、choco 啥的,不建议使用
各种环境问题,还是用提供的编译好的包就行了,地址https://github.com/iawia002/lux/releases/ 选择
自己的操作系统对应的包即可。
windows上的使用(不是全局命令行使用的话,不用配置环境变量,直接目录cmd即可)
命令(lux 加视频链接即可):
lux https://www.bilibili.com/video/BV1fi421h7hG
一些扩展命令及说明
1.基本使用:
- 下载视频:
lux "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
- 显示所有可用质量的视频信息而不下载:
lux -i "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
- 下载特定质量的视频:
lux -f stream "URL"
- 下载其他资源(如图片):
lux "https://img9.bcyimg.com/drawer/15294/post/1799t/1f5a87801a0711e898b12b640777720f.jpg"
- 下载播放列表:
- 下载整个播放列表:
lux -i -p "https://www.bilibili.com/bangumi/play/ep198061"
- 指定下载列表的范围:使用
-start
、-end
或-items
选项,例如:-start
指定开始的视频(默认1),-end
指定结束的视频,-items
指定要下载的视频项,用逗号分隔,如:1,5,6,8 - 10。对于哔哩哔哩播放列表,还可以使用-eto
选项,使每个哔哩哔哩剧集的文件名不包含播放列表标题。
- 下载整个播放列表:
- 下载多个URL:可以同时下载多个URL,例如:
lux -i "https://www.bilibili.com/video/av21877586" "https://www.bilibili.com/video/av21990740"
,也可以使用-F
选项从文件中读取URL进行下载。
2.其他功能:
-
恢复下载:Ctrl + C中断下载后,会保留临时的
.download
文件,再次使用相同参数运行lux
可恢复下载进度。 -
自动重试:
lux
会在下载失败时自动重试,可以通过-retry
选项指定重试次数(默认100次)。 -
设置Cookies:通过
-c
选项提供Cookies,格式可以是name=value; name2=value2;...
的字符串或文本文件,例如:$ lux -c "name=value; name2=value2" "https://www.bilibili.com/video/av20203945"
或$ lux -c cookies.txt "https://www.bilibili.com/video/av20203945"
。 -
设置代理:通过环境变量设置HTTP/SOCKS5代理,例如:
HTTP_PROXY="http://127.0.0.1:1087/" lux -i "https://www.youtube.com/watch?v=Gnbch2osEeo"
或HTTP_PROXY="socks5://127.0.0.1:1080/" lux -i "https://www.youtube.com/watch?v=Gnbch2osEeo"
。 -
多线程下载:使用
--multi - thread
或-m
启用多线程下载单个视频,使用--thread
或-n
选项设置下载线程数(默认10),注意视频有多个片段时实际下载线程数会增加。 -
短链接下载:对于哔哩哔哩,可以使用
av
或ep
编号下载视频,例如:lux -i ep198381 av21877586
。 -
使用指定Referrer:通过
-r
选项设置Referrer,例如:lux -r "https://www.bilibili.com/video/av20383055/" "http://cn - scnc1 - dx.acgvideo.com/"
。 -
指定输出路径和名称:通过
-o
选项设置路径,通过-O
选项设置文件名,例如:lux -o../ - O "hello" "https://example.com"
。 -
调试模式:使用
-d
选项输出网络请求消息,例如:lux -i -d "http://www.bilibili.com/video/av20088587"
。 -
重用提取的数据:使用
-j
选项以JSON格式打印提取的数据,例如:lux -j "https://www.bilibili.com/video/av20203945"
。
3.命令选项说明:
-i
:仅显示信息。-F string
:URLs文件路径。-d
:调试模式。-j
:打印提取的数据。-s
:最小输出。-v
:显示版本。- 下载相关:
-f string
:选择特定流进行下载。-p
:下载播放列表。-n int
:下载线程数(仅适用于多部分视频,默认10)。-c string
:Cookie。-r string
:使用指定Referrer。-cs int
:HTTP下载块大小(以MB为单位,默认1)。
- 网络相关:
-retry int
:下载失败时重试的次数(默认100)。
- 播放列表相关:
-start int
:播放列表视频开始下载的位置(默认1)。-end int
:播放列表视频结束下载的位置。-items string
:要下载的播放列表视频项,用逗号分隔,如:1,5,6,8 - 10。
- 文件系统相关:
-o string
:指定输出路径。-O string
:指定输出文件名。
- 字幕相关:
-C
:下载字幕。
- 优酷相关:
-ccode string
:优酷ccode(默认"0502")。-ckey string
:优酷ckey(默认"7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026")。-password string
:优酷密码。
- aria2相关:
-aria2
:使用Aria2 RPC进行下载。-aria2addr string
:Aria2地址(默认"localhost:6800")。-aria2method string
:Aria2方法(默认"http")。
:Aria2地址(默认"localhost:6800")。-aria2method string
:Aria2方法(默认"http")。-aria2token string
:Aria2 RPC令牌。