Book Fetch

从 Anna's Archive 搜索并下载电子书,自动上传至 MEGA。

已扫描
适合谁
需要批量获取电子书的读者、希望自动化管理电子书资源的用户
不适合谁
无法访问外部网络的环境、对版权合规有严格要求的机构
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @zerone0x/book-fetch

Skill 说明

命令、参数、文件名以原文为准

book-fetch

搜索 Anna's Archive,下载 epub/pdf 格式文件,并上传至 mega:/Books/

设置(一次性操作)

Anna's Archive 在 VPS 上受到 DNS 阻断。已通过 /etc/hosts 进行域名覆盖:

186.2.165.77 annas-archive.li

MEGA 存储已通过 rclone 配置(可使用 rclone ls mega:/ 验证配置是否正确)。

使用方法

cd ~/clawd
.venv-books/bin/python3 skills/book-fetch/scripts/book_fetch.py "TITLE AUTHOR"

选项:

  • --format pdf — 优先选择 PDF 格式而非 epub
  • --dry-run — 仅搜索,不执行下载
  • --pick -1 — 交互式结果选择器
  • --pick N — 选择第 N 个搜索结果(默认:0)

下载流程

  1. 搜索 annas-archive.li → 解析 data-content 属性以获取书名、作者和 md5 值
  2. 获取 annas-archive.li/md5/<md5> 页面 → 查找指向 libgen.li/ads.php 的链接
  3. 访问 libgen.li/ads.php → 提取 get.php?md5=...&key=... 直链
  4. 使用进度条下载文件
  5. 通过 rclone copy ... mega:/Books/ 上传至 MEGA

备用方案: 若无 libgen.li 镜像可用(如新书,2023 年以后出版),将尝试使用 Anna's Archive 的快速/慢速下载链接。

注意事项

  • 新书(2023 年及以后)可能缺少 libgen.li 镜像;快速下载需 AA 会员权限;慢速下载受速率限制
  • 虚拟环境路径:~/clawd/.venv-books/(依赖:requests, beautifulsoup4, lxml)
  • 下载后的文件缓存于 /tmp/books/
  • 项目仓库地址:<https://github.com/zerone0x/book-fetch>
Z
@zerone0x

已收录 1 个 Skill

相关推荐