book-fetch
Search Anna's Archive, download epub/pdf, upload to mega:/Books/.
Setup (one-time)
Anna's Archive is DNS-blocked on the VPS. The /etc/hosts override is already in place:
186.2.165.77 annas-archive.li
MEGA is configured via rclone (
rclone ls mega:/ to verify).
Usage
CODEBLOCK1
Options:
- -
--format pdf — prefer PDF over epub - INLINECODE4 — search only, no download
- INLINECODE5 — interactive result picker
- INLINECODE6 — pick result index N (default: 0)
Download Pipeline
- 1. Search
annas-archive.li → parse data-content attributes for title/author/md5 - Fetch
annas-archive.li/md5/<md5> → find libgen.li/ads.php link - Fetch
libgen.li/ads.php → extract get.php?md5=...&key=... direct link - Download file with progress bar
- Upload via INLINECODE13
Fallback: If no libgen.li mirror exists (newer books), tries Anna's Archive fast/slow download links.
Notes
- - New books (2023+) may lack libgen mirrors; fastdownload requires AA membership; slowdownload is rate-limited
- venv:
~/clawd/.venv-books/ (requests, beautifulsoup4, lxml) - Files cached at
/tmp/books/ after download - GitHub:
book-fetch
搜索安娜的档案,下载epub/pdf格式文件,上传至mega:/Books/。
设置(一次性)
安娜的档案在VPS上被DNS屏蔽。/etc/hosts覆盖规则已就位:
186.2.165.77 annas-archive.li
MEGA已通过rclone配置(使用rclone ls mega:/验证)。
使用方法
bash
cd ~/clawd
.venv-books/bin/python3 skills/book-fetch/scripts/book_fetch.py 书名 作者
选项:
- - --format pdf — 优先下载PDF而非epub
- --dry-run — 仅搜索,不下载
- --pick -1 — 交互式结果选择器
- --pick N — 选择索引为N的结果(默认:0)
下载流程
- 1. 搜索annas-archive.li → 解析data-content属性获取标题/作者/md5
- 获取annas-archive.li/md5/ → 找到libgen.li/ads.php链接
- 获取libgen.li/ads.php → 提取get.php?md5=...&key=...直链
- 带进度条下载文件
- 通过rclone copy ... mega:/Books/上传
备用方案: 如果libgen.li镜像不存在(较新书籍),尝试安娜的档案快速/慢速下载链接。
注意事项
- - 新书(2023年及以后)可能缺少libgen镜像;fastdownload需要AA会员;slowdownload有速率限制
- 虚拟环境:~/clawd/.venv-books/(依赖:requests, beautifulsoup4, lxml)
- 下载后文件缓存至/tmp/books/
- GitHub: