返回顶部
c

chinese-ebook-downloader中文电子书下载器

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.0.0
安全检测
已通过
116
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

chinese-ebook-downloader

中文电子书下载器

从多个来源下载中文电子书,支持自动回退和格式转换。

快速开始

bash

单本书下载(多源回退)


python scripts/download_book.py --title 超越百岁 --author 彼得·阿提亚

多源批量下载(A→B→C回退 + EPUB→PDF转换)

python scripts/multisourcedownload.py ~/Books/

直接搜索安娜的档案

python scripts/searchsourcec.py 书名 作者

将EPUB转换为PDF

python scripts/epubtopdf.py book.epub book.pdf

下载来源(优先级顺序)

来源覆盖范围限制备注
来源A(在线图书库)~100%主要来源——热门中文书籍覆盖率高
来源B(辅助库)
~8% | 无 | 缺失书籍的回退方案 | | 来源C(安娜的档案) | 广泛 | 速率受限 | 最后手段——使用libgen.li镜像 |

注意: Z-Library因每日10本下载限制已弃用。

多源回退

multisourcedownload.py脚本自动按顺序尝试来源:

来源A → 来源B → 来源C → EPUB→PDF转换

每本书的工作流程:

  1. 1. 尝试来源A(ZIP → 提取PDF/EPUB)
  2. 若失败,尝试来源B(文件托管下载)
  3. 若失败,尝试来源C(通过libgen.li访问安娜的档案)
  4. 若仅找到EPUB,使用weasyprint自动转换为PDF

使用方法:
bash

编辑脚本中的BOOKS列表,然后运行:


python scripts/multisourcedownload.py ~/Books/

EPUB → PDF转换

当仅有EPUB格式可用时,使用weasyprint自动转换:

bash

单个文件


python scripts/epubtopdf.py input.epub output.pdf

批量转换目录

python scripts/epubtopdf.py --batch ~/Books/

依赖要求: ebooklib、weasyprint、已安装CJK字体。

脚本参考

脚本用途
downloadbook.py从来源A主下载
searchsecondary_source.py
来源B搜索与下载 | | searchsourcec.py | 安娜的档案搜索与下载 | | batch_download.py | 从JSON列表批量下载 | | multisourcedownload.py | 多源A→B→C回退 | | epubtopdf.py | EPUB/MOBI转PDF转换 | | annaisobatch.sh | 安娜的档案隔离批处理(每本书一个进程) |

来源A工作流程(主要)

搜索 → 获取文件托管链接 → 解密 → 等待倒计时 → API获取 → curl下载 → 解压ZIP

步骤1:搜索

在主库中搜索书名。导航至下载页面,提取文件托管URL和密码。

步骤2:解密

导航至文件托管URL,输入密码,点击解密。

步骤3:等待倒计时

文件托管服务需要倒计时才能下载。请勿跳过。

步骤4:获取真实下载URL

获取页面变量:
javascript
JSON.stringify({apiserver, userid, fileid, shareid, filechk, starttime, waitseconds, verifycode})

调用API:
javascript
(async () => {
var url = apiserver + /getfile_url.php?uid= + userid
+ &fid= + fileid + &folderid=0&shareid= + shareid
+ &filechk= + filechk + &starttime= + starttime
+ &waitseconds= + waitseconds + &mb=0&app=0&acheck=0
+ &verifycode= + verifycode + &rd= + Math.random();
var headers = typeof getAjaxHeaders === function ? getAjaxHeaders() : {};
var resp = await fetch(url, {headers: headers});
return JSON.stringify(await resp.json());
})()

响应code: 200 → downurl为真实URL。

步骤5:下载

bash curl -L -o book.zip DOWNURL \ -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) \ --max-time 1200

步骤6:解压ZIP(GBK编码)

python import zipfile with zipfile.ZipFile(book.zip, r) as z: for info in z.infolist(): try: name = info.filename.encode(cp437).decode(gbk) except: name = info.filename ext = os.path.splitext(name)[1].lower() if ext in (.epub, .azw3, .mobi, .pdf, .txt): data = z.read(info.filename) with open(os.path.basename(name), wb) as f: f.write(data)

书名匹配策略

当书名较长或包含多个名称时(例如套装):

  • - 移除副标题(:或:之后的内容)
  • 移除括号内容((...)、(...))
  • 移除套装共X册套装描述
  • 将+连接的标题拆分为单本书
  • 依次尝试每个关键词直至匹配成功
  • 回退至完整标题+作者

示例:

  • - 杨定一全部生命系列:真原医+静坐+好睡(套装3册) → 尝试真原医、静坐、好睡
  • 超越百岁:长寿的科学与艺术 → 尝试超越百岁,然后超越百岁 彼得·阿提亚

格式选择

标志描述
--format pdf仅PDF(默认,NotebookLM首选)
--format epub
仅EPUB | | --format mobi | 仅MOBI | | --format azw3 | 仅AZW3 | | --format any | 接受任何可用格式 |

批量下载

bash
python scripts/batch_download.py --book-list books.json --output-dir ~/Books/

JSON格式:
json
[
{title: 超越百岁, file_url: <文件托管URL>, password: <密码>}
]

功能:通过_progress.json断点续传、跳过已有文件、速率限制。

故障排除

问题解决方案
IP被封锁使用浏览器工具,而非web_fetch
链接404
链接已过期,重新搜索 | | API非200 | 重新导航并重新解密 | | 下载内容为HTML | URL已过期,需重新调用API | | ZIP文件名乱码 | 使用Python cp437→gbk,而非unzip | | 大文件超时 | 将--max-time增加至1200 | | 安娜的档案被封锁 | 尝试不同镜像,使用annaisobatch.sh |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 chinese-ebook-downloader-1776061502 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 chinese-ebook-downloader-1776061502 技能

通过命令行安装

skillhub install chinese-ebook-downloader-1776061502

下载

⬇ 下载 chinese-ebook-downloader v2.0.0(免费)

文件大小: 34.61 KB | 发布时间: 2026-4-14 14:08

v2.0.0 最新 2026-4-14 14:08
Major upgrade: Adds multi-source fallback, EPUB→PDF conversion, Anna's Archive support, and new scripts.

- Introduced automatic multi-source (A→B→C) download fallback with `multi_source_download.py`
- Added direct Anna's Archive (libgen.li) search and download as last-resort source
- Implemented EPUB to PDF auto-conversion using `epub_to_pdf.py` and weasyprint
- Deprecated Z-Library due to strict download limits; Anna's Archive replaces as tertiary source
- Added new scripts: `multi_source_download.py`, `epub_to_pdf.py`, `search_source_c.py`, `anna_async_download.py`, `anna_batch_download.py`, `anna_iso_batch.sh`
- Updated documentation: streamlined workflows, expanded troubleshooting, and modernized usage instructions

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部