Repolode
palemoky

palemoky/chinese-poetry-api

基于 Go 的中国古诗词 API 服务,提供 REST 与 GraphQL 接口,支持简繁体切换。

Star
3,465
Fork
455
未关闭 Issue
8
最近提交
13天前

这是什么?

chinese-poetry-api 是一个用 Go 编写的服务,提供近 40 万首中国古典诗词的查询能力,涵盖唐诗、宋词、元曲等体裁。用户可以按朝代、作者、体裁筛选诗词,按标题、内容或作者搜索,也可以随机获取诗词,并支持单字过滤,适用于飞花令等场景。

接口同时提供 REST 与 GraphQL 两种形式。所有接口都可通过 lang 参数返回简体或繁体中文,两种文本存储在同一数据库中。服务内置按 IP 的限流,支持游标翻页,并提供支持 amd64 与 arm64 的 Docker 镜像。

数据基于 chinese-poetry 数据集,并使用作者维护的修正分支,修正了错字、朝代与作者等问题。数据处理与服务启动可通过 Makefile 完成。

核心功能

  • 01同时提供 REST 与 GraphQL 接口,覆盖诗词、作者、朝代和体裁。
  • 02通过 lang 参数在简体与繁体中文之间切换。
  • 03支持全文搜索,以及按标题、内容或作者搜索。
  • 04支持带过滤条件的随机诗词,包括单字匹配。
  • 05内置按 IP 的限流与游标翻页。
  • 06提供支持 amd64 与 arm64 的 Docker 镜像。

适用场景

  • 在应用或网站中加入古诗词查询或名句展示。
  • 利用随机与单字过滤接口开发飞花令或诗词问答游戏。
  • 在可自托管的真实数据源上练习爬虫。
  • 按需获取简体或繁体的古诗词数据。

快速上手

  1. 1

    使用 Docker 运行

    docker run -d -p 1279:1279 palemoky/chinese-poetry-api:latest
  2. 2

    克隆仓库(包含 submodules)

    git clone --recurse-submodules --depth=1 https://github.com/palemoky/chinese-poetry-api.git
  3. 3

    使用 Makefile 处理数据并启动服务

    make process-data
  4. 4

    启动服务

    make run-server

使用前须知

  • 诗词数据来自 Git Submodules,必须包含 submodules 克隆或单独拉取。
  • 使用 Makefile 方式需要先执行数据处理步骤才能启动服务。

标签

常见问题

chinese-poetry-api 是什么?
基于 Go 的中国古诗词 API 服务,提供 REST 与 GraphQL 接口,支持简繁体切换。 chinese-poetry-api 是一个用 Go 编写的服务,提供近 40 万首中国古典诗词的查询能力,涵盖唐诗、宋词、元曲等体裁。用户可以按朝代、作者、体裁筛选诗词,按标题、内容或作者搜索,也可以随机获取诗词,并支持单字过滤,适用于飞花令等场景。
chinese-poetry-api 可以免费使用吗?用的什么许可证?
chinese-poetry-api 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
chinese-poetry-api 还在维护吗?
活跃维护中。chinese-poetry-api 最近一次提交是在 2026年10月7日。
chinese-poetry-api 适合用来做什么?
在应用或网站中加入古诗词查询或名句展示。 利用随机与单字过滤接口开发飞花令或诗词问答游戏。 在可自托管的真实数据源上练习爬虫。 按需获取简体或繁体的古诗词数据。
chinese-poetry-api 怎么安装和运行?
使用 Docker 运行: docker run -d -p 1279:1279 palemoky/chinese-poetry-api:latest 克隆仓库(包含 submodules): git clone --recurse-submodules --depth=1 https://github.com/palemoky/chinese-poetry-api.git 使用 Makefile 处理数据并启动服务: make process-data 启动服务: make run-server
在哪里获取 chinese-poetry-api?
源代码和安装说明在 GitHub 上:https://github.com/palemoky/chinese-poetry-api

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目