Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/niuhuan/bilirust
RUST 哔哩哔哩客户端
https://github.com/niuhuan/bilirust
anime bilibi bilibili-api bilibili-download comic rust
Last synced: about 2 months ago
JSON representation
RUST 哔哩哔哩客户端
- Host: GitHub
- URL: https://github.com/niuhuan/bilirust
- Owner: niuhuan
- License: mit
- Created: 2021-12-16T06:59:30.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-19T01:59:56.000Z (over 1 year ago)
- Last Synced: 2024-10-08T23:50:00.194Z (2 months ago)
- Topics: anime, bilibi, bilibili-api, bilibili-download, comic, rust
- Language: Rust
- Homepage:
- Size: 33.2 KB
- Stars: 18
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-bilibili-extra - Bilirust - RUST 哔哩哔哩客户端.![Rust](svg/rust.svg?raw=true) (开发 / 直播脚本)
README
BILIRUST
===========
RUST哔哩哔哩客户端## 实现功能
- [x] 个人中心
- [x] 使用WEB方式扫码获取SessionData
- [x] 获取个人信息
- [x] 视频
- [x] 通过BVID/AVID获取视频信息
- [x] 获取视频的下载地址
- [x] 用户
- [x] 获取用户信息
- [x] 获取用户的合集和系列
- [ ] 获取系列内的视频
- [x] 获取合集内的视频
- [x] 获取用户收藏的视频
- [x] 客户端接口支持
- [x] 使用TV方式扫码获取SessionData/refresh_token## 使用方法
```rust
async fn main() {
// 创建一个客户端
let mut client = Client::new();
// 登录相关
// 扫码登录
let qr_data = client.login_qr().await.unwrap();
// 扫码后访问, (如未扫码或其他错误, 则error_data非0)
let info = client.login_qr_info(qr_data.oauth_key.clone()).await.unwrap();
// 解析扫码结果
let web_token = client.login_qr_info_parse_token(info.url.to_string()).unwrap();
// 注入token
client.login_set_sess_data(web_token.sess_data); // mut
// 接口相关
// 获取自己的个人信息 (需要登录)
client.my_info().await;
// 使用EP/SS获取信息
client.videos_info("ep1234".to_string()).await;
client.videos_info("ss1234".to_string()).await;
// 获取视频的信息
client.bv_info("BV1TS4y1Q7Y9".to_string()).await;
// 获取视频的下载地址 (1080P以上需要登录) (FNVAL可以使用位或一起使用) (FLV可能会被分段)
client.bv_download_url("BV1TS4y1Q7Y9".to_string(), 459566105, FNVAL_DASH, VIDEO_QUALITY_720P).await;
// 其他, 仅实现, 暂时没什么用
// TV扫码登录
client.tv_login_qr().await;
client.tv_login_qr_info("code".to_string()).await;
}
```## PS:一些关键词的说明
- (用户的)合集 : 在接口种有时候被称作 Seasons (比如合集和系列的列表) , 有时候被称作 Collection (查询合集内的视频)。本库内的struct与fn的名称保持和官方接口一致。
- (用户的)系列 Series