媒体资讯视频数据采集-lux的使用

news/2024/9/23 1:05:57/

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),注意视频有多个片段时实际下载线程数会增加。

  • 短链接下载:对于哔哩哔哩,可以使用avep编号下载视频,例如: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令牌。

http://www.ppmy.cn/news/1508832.html

相关文章

使用Python和Flask构建简单的RESTful API

目录 环境准备 创建Flask应用 运行Flask应用 扩展功能:处理POST请求 注意事项 在Web开发中,RESTful API是一种广泛使用的架构风格,它允许客户端和服务器之间通过HTTP请求进行通信。Python的Flask框架以其轻量级和易于上手的特点&#xf…

开发笔记:uniapp+vue+微信小程序 picker +后端 省市区三级联动

写在前面 未采用: 前端放置js 或者 json文件进行 省市区三级联动 采用: 前端组件 后端接口实现三级联动 原因:首先微信小程序有大小限制,能省则省,其次:方便后台维护省市区数据,完整省市区每年更新好像…

培训第二十四天(python基础学习)

上午 python开发工具: 1、安装自带的ide 2、pycharm(付费) 3、anaconda 1、环境 python2内置,需要换为python3 [root3 ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package //切换国内下载[root3 ~]# yum lis…

基于单片机的瓦斯浓度检测报警装置的设计与仿真

摘 要: 针 对 煤矿 安全 生产 实际 , 文章首先 介绍 了采用 单 片 机 的煤矿 瓦斯 浓 度检 测 报 警 装 置的整 体 构 架 , 然 后 对 煤矿 瓦斯 浓 度检 测 报 警 装 置 的 各 个 部 分 硬 件 进 行 了 详细 的设计, 给 出了煤矿瓦斯浓 度检…

MoonBit 周报 Vol.53:新增高级循环语法、引入字符串插值、MoonBit AI 支持代码解释!

weekly 2024-08-05 MoonBit更新 添加了基于 Iter 和 Iter2 类型的 for .. in 循环支持: fn main {for x in [ 1, 2, 3 ] {println(x)}for k, v in { "x": 1, "y": 2 } {println("\{k} > \{v}")} }for 与 in 之间可以使用 1&…

SuccBI+低代码文档中心 — 可视化分析(仪表板)(上)

有关仪表板的设计器: 查询设置 由于仪表板的设计器是所见即所得的,可以将当前制作的内容和数据的查询结果实时展示在界面中,当引入到仪表板的模型数据量较大时,为了提高设计器界面的查询性能,提供了以下两种方法&…

OpenCV图像滤波(15)梯度计算函数Scharr()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 函数使用 Scharr 运算符计算图像的第一个 x- 或 y- 空间导数。 调用 Scharr(src, dst, ddepth, dx, dy, scale, delta, borderType) \texttt{Sc…

2015款到18款奔驰GLC升级为2021款的HU6主机后,实现了触摸屏人机交互和Carplay功能

奔驰GLC是北京奔驰生产的一款中型SUV。有车主将2015款奔驰GLC升级为2021款的HU6主机后,实现了触摸屏人机交互和Carplay功能。该车主分享了使用体验: • Carplay功能:可以直接在车机大屏幕上显示导航、音乐和电话信息,让用户在开车…