# Zbook

> Download ebooks from Z-Library with a single command or sentence. Use when user asks to download a book, search for ebooks, or get any title from Z-Library. Triggers on "下载《书名》", "download book", "get me the epub of", "zbook", "从 Z-Library 下载". No Telegram bot or API key required — uses direct Z-Library API + Playwright for Cloudflare bypass.

- Skill: `halanhuang2025-lgtm/zbook` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add halanhuang2025-lgtm/zbook`
- Raw SKILL.md: https://api.skillmd.com/api/skills/halanhuang2025-lgtm/zbook/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: halanhuang2025-lgtm (https://skillmd.com/u/halanhuang2025-lgtm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/halanhuang2025-lgtm/zbook

---


# zbook

一句话从 Z-Library 下载任意电子书。

技术栈: **Z-Library eapi 搜索** + **Playwright headless 绕 Cloudflare 下载**  
无需 Telegram bot，无需额外 API key，只需 Z-Library 账号。

## 用法（对我说）

- "帮我下载《Atomic Habits》"
- "下载三体 epub"
- "下载 Designing Data-Intensive Applications"

## 命令

```bash
python3 skills/zbook/scripts/zbook.py "书名或作者"
python3 skills/zbook/scripts/zbook.py --format epub --lang en "Atomic Habits"
python3 skills/zbook/scripts/zbook.py --lang zh "三体 刘慈欣"
python3 skills/zbook/scripts/zbook.py --index 1 "深度工作"   # 选第2个结果
python3 skills/zbook/scripts/zbook.py --json "Atomic Habits" # JSON 输出
python3 skills/zbook/scripts/zbook.py --setup                # 首次配置
```

## 配置

配置文件：`~/.zbook/config.json`

```json
{
  "email": "your@email.com",
  "password": "your_password",
  "download_dir": "~/Downloads/ebooks"
}
```

运行 `--setup` 进入交互配置向导。

Cookie 缓存在 `~/.zbook/cookies.json`（24h 有效），避免频繁登录触发限制。

## 依赖安装

```bash
pip3 install playwright aiohttp --break-system-packages
python3 -m playwright install chromium
```

## 工作原理

1. **登录**: POST `z-library.sk/rpc.php` 获取认证 cookies（缓存 24h）
2. **搜索**: POST `/eapi/book/search`，参数名 `message`，form-urlencoded（注意：不是 `q`，不是 JSON）
3. **排序**: 按语言+格式偏好打分排序
4. **下载**: Playwright 注入 cookies，导航到 `/dl/xxx` 触发文件下载（绕 Cloudflare）

## 注意事项

- Z-Library 免费账号每日下载限额 10 本
- 搜索参数名是 `message`（不是 `q`），格式必须是 `application/x-www-form-urlencoded`
- 下载端点有 Cloudflare 保护，纯 HTTP 请求会被 503，必须用 Playwright
- 登录频繁会触发 "Too many logins" 限制，cookie 缓存机制解决此问题

