97c48995b1089ad031d2cc52846355e6a69f5cb7
ZLibrary 电子书下载器
从 zlib.li 搜索和下载电子书的命令行工具。
特性
- ✅ 自动绕过反爬保护:自动解决网站的 SHA1 工作量证明(PoW)挑战
- ✅ 智能搜索匹配:支持书名、作者、ISBN 等多维度匹配
- ✅ 格式优先级:自动选择 epub + pdf 版本下载
- ✅ 代理轮询:支持 Shadowsocks(Surge 格式)代理列表,每 IP 5 本后自动切换
- ✅ AI 友好:JSON 输出,结构化搜索结果,适合 AI Agent 调用
安装
cd /path/to/zlib-dl
python3 -m venv .venv
source .venv/bin/activate
pip install curl_cffi beautifulsoup4 lxml
代理依赖(全自动)
脚本内置自动代理引擎配置。如果使用 Shadowsocks 代理列表(如 Surge 格式),脚本会在首次运行时自动将对应平台架构的 mihomo 引擎打包进执行环境中,完全脱离 Host 依赖,无需手动通过 brew 安装任何插件。
使用方法
搜索图书
# 按标题和作者搜索
python3 zlib_dl.py search --title "Project Hail Mary" --author "Andy Weir"
# 自由搜索
python3 zlib_dl.py search --query "我从达尔文那里学到的投资知识 普拉克·普拉萨德"
# JSON 输出(AI Agent 推荐)
python3 zlib_dl.py --json search --title "Project Hail Mary" --author "Andy Weir"
# 按 ISBN 搜索
python3 zlib_dl.py search --isbn "9780593355275"
下载图书
# 自动搜索 + 下载最佳 epub 和 pdf
python3 zlib_dl.py download --title "Project Hail Mary" --author "Andy Weir"
# 指定下载路径(从搜索结果中获取)
python3 zlib_dl.py download --dl-path "/dl/O2pPQwkq2l" --title "Project Hail Mary" --format epub
# 指定输出目录
python3 zlib_dl.py download --title "Project Hail Mary" --author "Andy Weir" -o ./books
# 使用代理列表
python3 zlib_dl.py download --title "Project Hail Mary" --author "Andy Weir" --proxy-file proxies.txt
详细模式
python3 zlib_dl.py --verbose search --title "..."
python3 zlib_dl.py --verbose --json download --title "..."
代理配置
Surge Shadowsocks 格式
创建 proxies.txt,每行一个代理:
🇭🇰 香港 01= ss, server.example.com, 18300, encrypt-method=aes-128-gcm, password=your_password, obfs=http, obfs-host=example.microsoft.com, tfo=true, udp-relay=true
🇭🇰 香港 02= ss, server.example.com, 18305, encrypt-method=aes-128-gcm, password=your_password, obfs=http, obfs-host=example.microsoft.com, tfo=true, udp-relay=true
SOCKS5/HTTP 代理格式
也支持直接的代理 URL 格式:
socks5://127.0.0.1:1080
socks5://127.0.0.1:1081
http://127.0.0.1:8080
代理轮询机制
- 每个代理最多下载 5 本(zlib.li 的匿名限制)
- 达到上限后自动停止当前代理进程,启动下一个
- SS 代理会自动启动
mihomo进程创建本地隧道,无需宿主机环境准备
AI Agent 集成
JSON 搜索结果结构
{
"status": "success",
"query": { "title": "...", "author": "...", "combined_query": "..." },
"total_results": 50,
"results": [
{
"id": "17576434",
"title": "Project Hail Mary",
"author": "Andy Weir",
"format": "epub",
"filesize": "1.21 MB",
"language": "English",
"year": "2021",
"publisher": "Ballantine Books",
"isbn": "9780593355275",
"quality": "5.0",
"rating": "5.0",
"download_path": "/dl/O2pPQwkq2l",
"page_url": "/book/ZOE1baGkOP/project-hail-mary.html"
}
],
"recommended": {
"epub": { "...best epub..." },
"pdf": { "...best pdf..." },
"mobi": { "...best mobi..." }
},
"message": "找到 50 个结果。推荐: epub (1.21 MB, Q:5.0, English), pdf (7.44 MB, Q:5.0, English)"
}
典型 Agent 工作流
- 搜索:
zlib_dl.py --json search --title "书名" --author "作者" - 从
recommended中选择合适的版本 - 下载:
zlib_dl.py --json download --dl-path "/dl/xxx" --title "书名" --format epub - 检查下载结果的
status字段
限制
- 匿名用户每 IP 每天只能下载 5 本
- 需要代理才能批量下载
- 网站随时可能更新反爬机制
Languages
HTML
73.9%
Python
26.1%