Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lihe07/bilibili_comics_downloader
Rust制作的BiliBili漫画下载器:无环境依赖,高性能,支持导出pdf、epub、zip
https://github.com/lihe07/bilibili_comics_downloader
bilibili bilibili-download downloader epub pdf rust rust-lang spider
Last synced: about 1 month ago
JSON representation
Rust制作的BiliBili漫画下载器:无环境依赖,高性能,支持导出pdf、epub、zip
- Host: GitHub
- URL: https://github.com/lihe07/bilibili_comics_downloader
- Owner: lihe07
- Created: 2022-05-16T04:27:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-03T09:41:13.000Z (7 months ago)
- Last Synced: 2024-10-28T10:00:23.938Z (about 2 months ago)
- Topics: bilibili, bilibili-download, downloader, epub, pdf, rust, rust-lang, spider
- Language: Rust
- Homepage:
- Size: 145 KB
- Stars: 194
- Watchers: 3
- Forks: 16
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-bilibili-extra - Bilibili_comics_downloader - Bilibili 漫画下载器.![Rust](svg/rust.svg?raw=true) ![Cli](svg/terminal.svg?raw=true) (下载工具 / 直播脚本)
README
# bcdown
[Bilibili漫画](manga.bilibili.com/)下载器,written in [Rust](rust-lang.org/)
这个项目用来接替[之前的python版](https://github.com/lihe07/bilibili-manga-downloader)
## 特性
1. 异步高性能
网络相关操作使用了基于`tokio`的`reqwests`,较多线程版有较大的性能提升
2. 更加灵活的登录
工具支持 **扫码登录** 及 **SESSDATA登录** 两种登录方式,且能保存登录结果,无需每次重复登录
3. 更完善的缓存功能
工具会缓存更多的内容以减少网络请求,缓存地址可配置,默认选取用户的*文档*文件夹
4. 更灵活的导出
支持分话导出和合并导出,会自动添加Kindle等阅读器可识别的书签
目前支持**epub**,**pdf**和**zip**三种格式## 使用方法
工具共有如下几个命令:
- `bcdown info ` - 显示配置信息,缓存大小,登录状态
使用示例:
- `bcdown info`
```
ℹ 加载配置文件:D:\Documents\bcdown/config.toml
ℹ bcdown 版本: 0.2.1
ℹ 登录信息有效!
ℹ 用户名:[数据删除]
ℹ 漫币余额:[数据删除]
ℹ 缓存目录:D:\Documents\bcdown/cache
ℹ 缓存目录大小:4.629214677959681 GB
ℹ 默认下载目录:D:\Download
```- `bcdown login` - 登录B漫账号,通过二维码或者sessdata
使用示例:
- `bcdown login -s [数据删除]` 通过sessdata登录
```
ℹ 加载配置文件:D:\Documents\bcdown/config.toml
ℹ 登录信息有效!
ℹ 用户名:[数据删除]
ℹ 漫币余额:[数据删除]
```- `bcdown login -q` 通过扫描二维码登录
```
ℹ 加载配置文件:D:\Documents\bcdown/config.toml
▀ ██▀▀▀▄ ▀ ▄▄ █▄ ▀▄▄ ▀█▀█▄▀▄ ██▀▀█▄
▀▀ ▄▀ ▀ █ ▀ ▄ ▄▄▄▄▀▄█▀▀██ █ ▄█▀▀█
█ █▀█▄▄▀██▄ ▄▀▄▄▄▄▀▄▀▀▀▀█▀▀█▀ ▀▀▀
█▄█▀█▀██ ▄ ██▄ █▄ ██ ▄ ▄▀█▄ ██▀ ██
█▀ ▀▄▀▀█▀ █▀▄█▄ ▀█▄▄▄▀█▀▀▀ ▄▀▀▄▀ █▄
█ █▀█ █▄█ █▄ █▄▄ ▄▀ ██▄█▄ ▀▀█
▄ ▄▄▀▄▀ █▄▄▄ ▄▄▀▄██▄█▄▀█▀▀▀▀▄█▀ ▀█▀
█▀█ ▀▀▄███▀█▄▀█ ▀ ▀▄▀▄█ ██ ████▀ █▀
▄▄ █ ▀ █▄▄▀█▀█ ▄█▄▄▄ ▄▄▄█▀▀▄█▀█▀ █▀▀
█ ▄▄▀▄▀▄██▀ █ █▀ ▀ ▀▄█▄▀ ▄██▄▀█ ▀██
▀ ▀▀▀ ▀ ▄▀▄▄▀ ▀▀ █▄██▄▀▄▀▀▀ █▀▀▀██▀▀
█▀▀▀▀▀█ ▄▀ █▀██▀▀▄█▄▀ ▄ ▀ █ ▀ █▄▀█▀
█ ███ █ █ ▄▄▄█▀▄▄▀█▀ ▄█▄█▀▀███▀█▄▀▀▄
█ ▀▀▀ █ ▀ ▀▀▀▄ ▀█ █ ██▄█ ▀▀▄▀ ▄ ▀█
▀▀▀▀▀▀▀ ▀▀▀ ▀▀▀▀▀ ▀▀▀▀ ▀▀ ▀ ▀▀▀
✔ 二维码已生成,请扫描二维码登录
ℹ 如果显示错误,请手动访问:[链接省略]
⠇ 等待确认...
```> **备注**:建议在支持色彩和符号终端中执行,如*Windows Terminal*
- `bcdown clear` - 清空缓存文件夹
- `bcdown search [链接或ID]` - 搜索某个漫画,列出它的全部章节
- `bcdown list` - 列出缓存中的漫画
- `bcdown fetch [链接或ID] <--range [开始]-[结束],[开始]-,-[结束]>` - 将一个漫画下载到本地
使用示例:
- `bcdown fetch mc29911 --range 1-20,40-50,60- ` 下载 *mc29911* 第1话到第20话,第40话到第50话 和 第60话之后的所有到本地
``
- `bcdown export [链接或ID] --format [epub或pdf] <--range [开始]-[结束],[开始]-,-[结束]> <-s 单独导出每一话> <--output [输出位置]> <-g [组大小>] ` - 导出一个本地漫画
## 构建,编译,安装
和大部分rust crates一样,只需clone该存储库,之后执行`cargo build --release` 即可本地构建
> **备注**:鉴于依赖项`printpdf`的特性,只有在添加`--release`标签后,工具才会对PDF执行压缩
这个项目已经发布到`crates.io`上了,因此可以通过`cargo install bcdown`来安装
如果只是普通用户,可以下载编译好的可执行文件:[Releases](https://github.com/lihe07/bilibili_comics_downloader/releases)
## Kindle使用指南
由于kindle阅读器暂时不支持epub格式的电子书,而pdf格式又过于庞大,不便于传输,这里有几种常见解决方案:
1. 使用 `bcdown export XXXX -s -f pdf` 分话导出较小的pdf文件(编码较慢)
> 在存储空间较小的设备上需要较多次的传输
2. 使用 `bcdown export XXXX -f epub` 导出一个大的epub文件(比pdf快),之后使用 `ebook-convert`, `NeatConverter` 等工具转换成 azw3 格式(这里推荐Neat Converter,对大文件支持比较好)
> 实测azw3拥有更好的压缩率,pdf(1.5G) > epub(300M) > azw3(150M)
>
> 由于不同的导出工具的区别,一些小功能可能会失效(如封面图片,标题等)图片和目录的显示已经经过测试,不会出现较大的问题
## 提交PR
看[CONTRIBUTING.md](CONTRIBUTING.md)
## 联系方式我的QQ:*3525904273*
## 更新记录
- 0.1.0 - 第一个版本,支持导出PDF
- 0.1.1 - 修复了bug,支持导出epub格式
- 0.1.2 - 修复bug
- 0.1.3 - 修复bug
- 0.1.4 - 修复bug,优化网络模块
- 0.1.5 - 加入导出zip文件的支持,修复bug,优化任务处理
- 0.1.6 - 删除书签中的ORD编码,修复epub中的格式问题
- 0.1.7 - 修复bug,修改压缩方式为Stored
- 0.2.0 - 范围下载/导出,优化网络,加入分组导出功能,升级依赖项
- 0.2.1 - 修复bug
- 0.2.2 - 修复bug## 补充
这个工具只是个爬虫,不能下载没有解锁的漫画,因此解决不了钞能力的问题(
如果发现了Bug(~~可能~~会有很多,已经发现了不少),欢迎创建Issue
这个工具的更新会很频繁,建议保持使用最新版
由于没有限速功能,短时间内大量的网络请求可能会对B漫造成一定负载。建议不要频繁进行下载操作,尽管目前没有因下载而被封号的案例,但B漫拥有封禁的权力。使用本工具造成的一切损失请自行承担!