5 个不稳定版本
0.3.2 | 2021 年 9 月 22 日 |
---|---|
0.3.1 | 2021 年 7 月 15 日 |
0.3.0 | 2021 年 7 月 14 日 |
0.2.0 | 2021 年 7 月 12 日 |
0.1.0 | 2021 年 7 月 7 日 |
#29 in #scraper
17KB
243 行
📦🌏 cyberdrop-dl - 用 Rust 编写的 cyberdrop.me 下载器 🦀
这是目前最快的 cyberdrop.me 相册下载器,用 Rust 编写,作为练习。
用法
- 下载 单个相册
$ cyberdrop-dl https://cyberdrop.me/a/album1
- 下载 多个相册
$ cyberdrop-downloader albums.txt
- 或
$ cyberdrop-dl https://cyberdrop.me/a/album1 https://cyberdrop.me/a/album2
文件将保存在当前工作目录下,命名为 './cyberdrop-dl'。
如何安装
推荐。使用 cargo 安装。您需要安装 Rust 工具链,从这里获取它 @ https://rustup.rs/
就这么简单
$ cargo install cyberdrop-dl
Docker
无需通过 Docker 构建和安装
$ docker run -it --rm -v "$(pwd)"/cyberdrop-dl:/cyberdrop-dl:rw wmw9/cyberdrop-dl cyberdrop-dl https://cyberdrop.me/a/album
待办事项
- 同时下载多个相册
- 并行下载多个相册文件
- 通过远程 URL 接受 albums.txt 列表
- 通过 -o 标志自定义目标目录
- 与 Telegram Bot 集成,以便更容易使用
- 检测重复相册
我学到的东西 🧠
- Tokio 运行时(使用通道、绿色线程、Arc<>、信号量限制)
- HTML 抓取
- 终端 UI(多个进度条、旋转器)
- Async/Await
- Async I/O
- 与文件系统一起工作
- Rust 基础(HTTP 请求、参数解析、错误处理)
依赖项
~13–30MB
~507K SLoC