#downloader #scraper #cyberdrop

bin+lib cyberdrop-dl

Cyberdrop.me 相册下载器,用 Rust 编写

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

MIT 许可证

17KB
243

📦🌏 cyberdrop-dl - 用 Rust 编写的 cyberdrop.me 下载器 🦀

cyberdrop-dl_demo

这是目前最快的 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