https://github.com/fython/bili-downloader
B 站视频批量下载库
https://github.com/fython/bili-downloader
Last synced: 10 months ago
JSON representation
B 站视频批量下载库
- Host: GitHub
- URL: https://github.com/fython/bili-downloader
- Owner: fython
- Created: 2020-10-29T14:02:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-08T02:47:09.000Z (over 5 years ago)
- Last Synced: 2025-04-06T23:13:35.663Z (11 months ago)
- Language: TypeScript
- Homepage:
- Size: 56.6 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
bili-downloader
======
自用的简陋的 B 站视频批量下载工具。
注:这不是一个完整的应用程序/命令行工具,而是一个 Node.js 库,你需要了解 JavaScript/TypeScript 语言来使用它。
## 安装
```shell script
npm i @siubeng/bili-downloader
```
## 目前支持的功能
- 批量获取用户所有视频任务、批量获取收藏列表所有视频任务
- 导出视频任务、分 P 任务到 XLSX 格式
- 根据导出的 XLSX 过滤下载任务,Chosen 栏为 0 时跳过下载
- 选择视频清晰度、音频清晰度进行下载完整文件(Dash)
- 调用 FFMpeg 合并 Dash 音视频,支持调整参数(使用 [node-fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent-ffmpeg))
- [TO-DO 列表](https://github.com/fython/bili-downloader/projects/1)
## 使用样例
`bili-downloader` 的基本使用过程是:
1. 调用 `BiliDownloader` 类的获取用户视频或收藏列表视频构建成一批视频任务。
2. 调用 `operations` 包内的 map(转换)和 filter(过滤)方法构建下载流水线。
3. 调用 `operations` 包内的 `downloadTasks` 启动下载流程。
`operations` 包含的函数众多,目前仅打算自用,后续会继续完善,可能会频繁更改接口,暂不提供文档了。
### 下载一个用户的所有视频
```javascript
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