GitPedia

Chinese poetry api

📜 诗泉:高性能中国古诗词 API 服务

From palemoky·Updated June 26, 2026·View on GitHub·

基于 Go 语言的高性能中国古诗词 API 服务,支持 REST 和 GraphQL 接口,提供简体/繁体中文、爬虫练习场等功能。 The project is written primarily in Go, distributed under the GNU General Public License v3.0 license, first published in 2025. Key topics include: api, chinese, graphql, poetry.

Latest release: v0.5.0
April 26, 2026View Changelog →
<div align="center"> <img src="docs/icon.png" alt="chinese-poetry" height="100px"> <h2>中国古诗词 API 服务</h2>

Docker Image
Docker Image Size
Go Report Card
pre-commit
License

基于 Go 语言的高性能中国古诗词 API 服务,支持 REST 和 GraphQL 接口,提供简体/繁体中文、爬虫练习场等功能。

在线版:https://poetry.palemoky.com

</div>

特性

  • 高性能: Go 语言编写,支持并发处理,性能优化(简繁转换 ~300ns/op)
  • 海量数据: 包含唐诗、宋词、元曲等近 40 万首诗词
  • 强大搜索: 支持全文搜索、标题/内容/作者分类搜索
  • 双语支持: 同一数据库同时存储简体和繁体中文,通过 ?lang= 参数切换
  • 多种接口: REST API 和 GraphQL 双接口支持
  • 限流保护: 内置 IP 限流,防止滥用
  • 容器化: Docker 镜像开箱即用,支持多架构(amd64/arm64)
  • 智能分类: 按朝代、作者、诗词类型自动分类

快速开始

使用 Docker(推荐)

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

完整配置参见 docker-compose.yml

使用 Makefile

bash
make help # 查看所有可用命令 make build # 构建项目 make process-data # 处理数据 make run-server # 启动服务

克隆仓库

本项目使用 Git Submodules 管理诗词数据,推荐使用以下命令快速克隆:

bash
# 完整克隆(包含 submodules) git clone --recurse-submodules --depth=1 https://github.com/palemoky/chinese-poetry-api.git

如果已经克隆了仓库,可以单独更新 submodules:

bash
git submodule update --init

API 使用

多语言支持

所有接口支持 lang 参数切换简繁体:

参数值说明
zh-Hans简体中文(默认)
zh-Hant繁体中文

REST API

bash
# 简体中文(默认) curl "http://localhost:1279/api/v1/poems" # 繁体中文 curl "http://localhost:1279/api/v1/poems?lang=zh-Hant" # 搜索诗词 curl "http://localhost:1279/api/v1/poems/search?q=静夜思" # 随机诗词 curl "http://localhost:1279/api/v1/poems/random" # 随机诗词(带过滤) curl "http://localhost:1279/api/v1/poems/random?author=李白" curl "http://localhost:1279/api/v1/poems/random?type=五言绝句" curl "http://localhost:1279/api/v1/poems/random?author=李白&type=五言绝句" curl "http://localhost:1279/api/v1/poems/random?author=李白&type=五言绝句&dynasty=唐" curl "http://localhost:1279/api/v1/poems/random?author=李白&dynasty=唐&type=五言绝句&type=七言绝句&type=五言律诗" # 作者列表 curl "http://localhost:1279/api/v1/authors?page=1&page_size=20" # 朝代列表 curl "http://localhost:1279/api/v1/dynasties"

GraphQL API

端点:http://localhost:1279/graphql

graphql
# 繁体中文查询 query { poems(lang: ZH_HANT, pageSize: 10) { edges { node { title content author { name } } } totalCount } } # 搜索诗词 query { searchPoems(query: "静夜思", searchType: TITLE) { edges { node { title author { name } } } } } # 统计信息 query { statistics { totalPoems totalAuthors poemsByDynasty { dynasty { name } count } } }

搜索功能

类型说明示例
all全文搜索(默认)?q=月
title标题搜索?q=静夜思&type=title
content内容搜索?q=床前明月光&type=content
author作者搜索?q=李白&type=author

数据集

本项目基于 chinese-poetry 数据集,包含:

分类数量分类数量分类数量分类数量
五言绝句18,895七言绝句85,032五言律诗71,400七言律诗69,028
乐府诗9,315五代词543宋词21,369元曲10,905
诗经305楚辞65论语20四书五经14
其他96,232
mermaid
pie title 收录数据分布概览 (忽略极小值) "七绝/七律" : 154060 "五绝/五律" : 90295 "宋词/五代词" : 21912 "元曲" : 10905 "乐府诗" : 9315 "其他" : 96232

致谢

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from palemoky/chinese-poetry-api via the GitHub API.Last fetched: 6/26/2026