bili-downloader
bili-downloader copied to clipboard
B 站视频批量下载库
bili-downloader
自用的简陋的 B 站视频批量下载工具。
注:这不是一个完整的应用程序/命令行工具,而是一个 Node.js 库,你需要了解 JavaScript/TypeScript 语言来使用它。
安装
npm i @siubeng/bili-downloader
目前支持的功能
- 批量获取用户所有视频任务、批量获取收藏列表所有视频任务
- 导出视频任务、分 P 任务到 XLSX 格式
- 根据导出的 XLSX 过滤下载任务,Chosen 栏为 0 时跳过下载
- 选择视频清晰度、音频清晰度进行下载完整文件(Dash)
- 调用 FFMpeg 合并 Dash 音视频,支持调整参数(使用 node-fluent-ffmpeg)
- TO-DO 列表
使用样例
bili-downloader
的基本使用过程是:
- 调用
BiliDownloader
类的获取用户视频或收藏列表视频构建成一批视频任务。 - 调用
operations
包内的 map(转换)和 filter(过滤)方法构建下载流水线。 - 调用
operations
包内的downloadTasks
启动下载流程。
operations
包含的函数众多,目前仅打算自用,后续会继续完善,可能会频繁更改接口,暂不提供文档了。
下载一个用户的所有视频
const {BiliDownloader, VideoQuality} = require('@siubeng/bili-downloader');
const {
mapToVideoParts,
mapToVideoPlayUrls,
} = require('@siubeng/bili-downloader/dist/operations');
// 使用你的 B 站登录 Cookie 来获得更高清晰度或者私密收藏列表
BiliDownloader.init({ cookie: 'MY_COOKIE' });
BiliDownloader.getUserVideos(375504219)
.then(mapToVideoParts())
.then(mapToVideoPlayUrls(VideoQuality.$1080p60))
.then(downloadTasks('D:\\Downloads\\Videos'));
Licenses
MIT