Skip to main content

Bookget

古籍数字资源下载与管理工具,支持从 37 个数字图书馆网站下载古籍图片和文字资源(包括 IIIF 2.x / 3.0 manifest)。全异步架构,插件式适配器设计。

支持的网站

共 37 个站点适配器(其中多数走 IIIF)。下表由适配器注册表自动生成,新增适配器后请重新生成。

中国大陆

网站 域名 图片 PDF 文字 搜索
中华古籍智慧化服务平台 guji.nlc.cn ✓ ✓
中國國家圖書館·讀者雲門戶 read.nlc.cn ✓
识典古籍 shidianguji.com ✓ ✓ ✓
中国哲学书电子化计划 (CText) ctext.org ✓ ✓ ✓

日本

网站 域名 图片 PDF 文字 搜索
国立国会図書館 (NDL) dl.ndl.go.jp ✓
京都大学贵重资料数字档案馆 (Kyoto RMDA) rmda.kulib.kyoto-u.ac.jp ✓
東京国立博物館 (TNM) webarchives.tnm.jp ✓
国書データベース (NIJL Kokusho) kokusho.nijl.ac.jp ✓
庆应义塾大学数字典藏 (Keio) dcollections.lib.keio.ac.jp ✓
东洋文库 (Toyo Bunko / NII-DSR) dsr.nii.ac.jp ✓
e国宝 (e-Museum) emuseum.nich.go.jp ✓
国立歴史民俗博物館 (khirin-a) khirin-a.rekihaku.ac.jp ✓
龍谷大學圖書館 (Ryukoku) da.library.ryukoku.ac.jp ✓

港台

网站 域名 图片 PDF 文字 搜索
臺灣國家圖書館 (NCL Taiwan, rbook.ncl.edu.tw) rbook.ncl.edu.tw ✓
臺灣故宮博物院 (NPM Taipei) digitalarchive.npm.gov.tw ✓
漢籍全文資料庫 (Hanchi) hanchi.ihp.sinica.edu.tw ✓
臺灣華文電子書庫 taiwanebook.ncl.edu.tw ✓ ✓
香港大学数字图书馆 (HKU) digitalrepository.lib.hku.hk ✓
香港科技大学图书馆 (HKUST) lbezone.hkust.edu.hk ✓

欧美图书馆

网站 域名 图片 PDF 文字 搜索
哈佛大学图书馆 (Harvard) curiosity.lib.harvard.edu ✓
普林斯顿大学图书馆 (Princeton) dpul.princeton.edu ✓
斯坦福大学图书馆 (Stanford) searchworks.stanford.edu ✓
柏克莱加州大学东亚图书馆 (Berkeley) digicoll.lib.berkeley.edu ✓
美国国会图书馆 (Library of Congress) loc.gov ✓
牛津大学博德利图书馆 (Bodleian) digital.bodleian.ox.ac.uk ✓
剑桥大学数字图书馆 (CUDL) cudl.lib.cam.ac.uk ✓
梵蒂冈宗座图书馆 (DigiVatlib) digi.vatlib.it ✓
大英图书馆 (British Library) bl.uk ✓
法国国家图书馆 (BnF Gallica) gallica.bnf.fr ✓
柏林国立图书馆 (Staatsbibliothek zu Berlin) digital.staatsbibliothek-berlin.de ✓
巴伐利亚州立图书馆 (BSB) digitale-sammlungen.de ✓
奥地利国家图书馆 (ONB) viewer.onb.ac.at ✓
史密森尼学会 (Smithsonian) ids.si.edu ✓

通用

网站 域名 图片 PDF 文字 搜索
维基共享资源 commons.wikimedia.org ✓ ✓
维基文库 zh.wikisource.org ✓ ✓
Internet Archive archive.org ✓ ✓
Generic IIIF 任意 IIIF Manifest URL ✓

安装

方式一:下载可执行文件(推荐)

前往 Releases 下载对应平台的文件,无需安装 Python:

文件 说明
bookget-cli-windows.exe Windows 命令行工具,双击运行
bookget-cli-macos macOS 命令行工具
bookget-ui-windows.exe Windows 图形界面,双击打开浏览器操作

下载后可先跑一次自检,确认这份可执行文件依赖齐全:

bookget-cli selftest

注意:识典古籍需要额外安装浏览器内核。 exe 里不包含 Playwright/Chromium (体积过大),所以用 exe 下载识典古籍会提示缺少浏览器。需要下载识典的, 请改用下面的 pip 方式并执行 playwright install chromium。其余 36 个站点 不受影响,exe 可直接使用。 | bookget-ui-macos | macOS 图形界面 |

macOS 用户首次运行需赋予执行权限:chmod +x bookget-cli-macos

方式二:pip 安装

需要 Python 3.10 或更高版本。

pip install bookget

如需下载识典古籍(需要浏览器自动化绕过反爬):

pip install "bookget[browser]"
playwright install chromium

使用方法

图形界面(bookget-ui)

双击运行 bookget-ui,自动打开浏览器,在网页中操作即可。

或通过命令行启动:

bookget serve

交互模式(bookget-cli)

直接运行 bookget(或双击 bookget-cli),按提示逐步操作:

=======================================================
  bookget — 古籍下载工具
=======================================================

请输入书目 URL(输入 q 退出): https://www.shidianguji.com/book/v3/1001
  ✓ 已识别站点:识典古籍
下载目录 [C:\Users\xxx\Downloads\bookget]:
并行数量 [3]:

正在探索书目结构……
  标题:周易
  节点:12  已完成:0

开始下载所有节点?[Y/n]:

下载完成后自动回到输入界面,可继续下载其他古籍。按 q 或 Ctrl+C 退出。

命令行模式

下载古籍

# 基本下载
bookget download "URL" -o ./output

# 增量下载(支持断点续传)
bookget download "URL" -o ./output --incremental --concurrency 3

# 只下载图片,不下载文字
bookget download "URL" -o ./output --no-text

# 只下载文字
bookget download "URL" -o ./output --no-images

批量下载

一次下载多本。每本各自存进 -o 目录下以书籍 ID 命名的子目录; 其中一本失败不会中断整批,末尾打印汇总。

# 直接给多个 URL
bookget download "URL1" "URL2" "URL3" -o ./output

# 从文件读取,每行一个 URL(# 开头为注释)
bookget download --url-file urls.txt -o ./output

# 失败的 URL 会写进 <输出目录>/failed_urls.txt,可直接重跑
bookget download --retry-failed ./output/failed_urls.txt -o ./output

urls.txt 形如:

# 论语
https://ctext.org/analects
https://www.shidianguji.com/zh/book/SBCK001

整批有失败时进程退出码为 1,方便脚本判断。

结构发现与分步下载

# 发现书目结构(不下载)
bookget discover "URL" -o ./output

# 展开某个节点
bookget expand "URL" -o ./output --node NODE_ID

搜索与匹配

# 在指定站点搜索书名
bookget search --site ctext --query "周易"

# 精确匹配书名和作者
bookget match --site shidianguji --title "周易" --authors "孔颖达"

其他命令

# 获取书籍元数据
bookget metadata "URL"

# 查看所有支持的网站
bookget sites --list

# 检查某个网址是否支持
bookget sites --check "URL"

常用选项

选项 说明
-o, --output DIR 下载保存目录
--incremental 增量下载,支持断点续传
--concurrency N 同时下载数量(默认 1)
--no-images 跳过图片
--no-text 跳过文字
--section NODE_ID 只下载指定章节
--json 以 JSON 格式输出结果
-q, --quiet 安静模式,减少输出

配置

可通过环境变量调整默认行为:

变量 说明 默认值
GUJI_OUTPUT_DIR 下载目录 ./downloads
GUJI_CONCURRENT_DOWNLOADS 同时下载数量 4
GUJI_DEBUG 调试模式 false

也可以用配置文件:

bookget --config config.json download "URL"

从源码构建

如果你想自行构建可执行文件:

# 克隆仓库
git clone https://github.com/open-guji/bookget-py.git
cd bookget-py

# 安装依赖
pip install -e ".[dev]"
pip install pyinstaller

# 安装前端依赖
cd ui && npm install && cd ..

# 构建两个可执行文件
python packaging/build.py

# 或只构建其中一个
python packaging/build.py cli   # 只构建 bookget-cli
python packaging/build.py ui    # 只构建 bookget-ui(会自动构建前端)

构建产物在 dist/ 目录下。

许可证

Apache License 2.0

Metadata

Release files for bookget 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bookget 0.4.0
File Size Uploaded
bookget-0.4.0.tar.gz 213.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bookget 0.4.0
File Interpreter ABI Platform
bookget-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 427.4 kB

Release files / bookget-0.4.0.tar.gz

Download URL bookget-0.4.0.tar.gz
Size 213.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f1275a263a0ad247d15b0ee2afbed09a7132a92f4fd6d87a716a46e343df523b
BLAKE2b-256 checksum
How to use checksums
491861e2ff2fa941e28e0aa4aa3dcebc93470d0587fc57176ef922b03a55623a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / bookget-0.4.0-py3-none-any.whl

Download URL bookget-0.4.0-py3-none-any.whl
Size 213.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d62310c8316163f461dc44f527e95d3d0812884ab6fa67be990fe901fe53fb5e
BLAKE2b-256 checksum
How to use checksums
be629415c5cd07e29a217f6226085256144ffccf84021b8bea8dbedffbd88897
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page