@GitHub_Daily: chinese-poetry-api 这个开源项目,把近 40 万首古诗词做成了开箱即用的接口服务。 涵盖唐诗、宋词、元曲、诗经、楚辞等内容,并且按朝代、作者、诗词做个分类。 还能进行全文搜索和随机获取诗词,支持简繁体切换,加个参数就行。…
摘要
chinese-poetry-api 是一个基于 Go 语言的开源项目,将近 40 万首古诗词打包成高性能的 REST 和 GraphQL 接口服务,支持简繁体切换、全文搜索,并提供 Docker 镜像实现一键部署。
查看缓存全文
缓存时间: 2026/06/15 13:02
chinese-poetry-api 这个开源项目,把近 40 万首古诗词做成了开箱即用的接口服务。
涵盖唐诗、宋词、元曲、诗经、楚辞等内容,并且按朝代、作者、诗词做个分类。
还能进行全文搜索和随机获取诗词,支持简繁体切换,加个参数就行。
GitHub:http://github.com/palemoky/chinese-poetry-api…
部署使用也很简单,官方准备了 Docker 镜像,一行命令即可完成安装部署。
适合想给自己的网站或小程序加点古诗词氛围的朋友,省去找数据搭建后端的麻烦。
palemoky/chinese-poetry-api
Source: https://github.com/palemoky/chinese-poetry-api
✨ 特性
- 🚀 高性能: Go 语言编写,支持并发处理,性能优化(简繁转换 ~300ns/op)
- 📚 海量数据: 包含唐诗、宋词、元曲等近 40 万首诗词
- 🔍 强大搜索: 支持全文搜索、标题/内容/作者分类搜索
- 🌏 双语支持: 同一数据库同时存储简体和繁体中文,通过
?lang=参数切换 - 🎯 多种接口: REST API 和 GraphQL 双接口支持
- 🛡️ 限流保护: 内置 IP 限流,防止滥用
- 🐳 容器化: Docker 镜像开箱即用,支持多架构(amd64/arm64)
- 📊 智能分类: 按朝代、作者、诗词类型自动分类
🚀 快速开始
使用 Docker(推荐)
docker run -d -p 1279:1279 palemoky/chinese-poetry-api:latest
完整配置参见 docker-compose.yml。
使用 Makefile
make help # 查看所有可用命令
make build # 构建项目
make process-data # 处理数据
make run-server # 启动服务
克隆仓库
本项目使用 Git Submodules 管理诗词数据,推荐使用以下命令快速克隆:
# 完整克隆(包含 submodules)
git clone --recurse-submodules --depth=1 https://github.com/palemoky/chinese-poetry-api.git
如果已经克隆了仓库,可以单独更新 submodules:
git submodule update --init
📡 API 使用
多语言支持
所有接口支持 lang 参数切换简繁体:
| 参数值 | 说明 |
|---|---|
zh-Hans | 简体中文(默认) |
zh-Hant | 繁体中文 |
REST API
# 简体中文(默认)
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
# 繁体中文查询
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 |
pie title 收录数据分布概览 (忽略极小值)
"七绝/七律" : 154060
"五绝/五律" : 90295
"宋词/五代词" : 21912
"元曲" : 10905
"乐府诗" : 9315
"其他" : 96232
🙏 致谢
- 数据来源:chinese-poetry
- 简繁转换:gocc
相似文章
@ChrisSlacker: 50个超实用的GitHub仓库 1. iFixAi — AI对齐测试 → https://t.co/70ZaaoerS3 2. public-apis — 免费API合集 → https://t.co/x0Lqj0ww9B 3. buil…
一份整理了50个实用的GitHub仓库的精选列表,涵盖AI对齐测试、API合集、学习资源、AI Agent框架、大模型推理工具等,适合开发者和AI从业者收藏。
@Fenng: 什么?我竟然在 Github 上也有 1K Stars 的项目了……
该项目提供了一份针对中文技术文档的写作规范,旨在提升文档的克制性、准确性和可读性,并集成了AI代理工具如Codex和Claude Code。
@XAMTO_AI: GitHub上有个宝藏项目叫 EBOOK ETC,把微信读书、京东读书、喜马拉雅的资源全薅过来集中管理。 ① 经典文学、经管励志、职场创业、技术手册全都有 ② 标签分类 + 搜索功能,找书快得飞起 ③ epub、mobi、azw3 三种格…
这是一个GitHub上的开源项目,汇总了来自多个中文读书应用的电子书资源并分类整理,支持多种格式下载。
@Jolyne_AI: GitHub 上有个开源小工具:daily-arXiv-ai-enhanced,帮你把“追论文”这件事变成每天自动完成的日常。 它会每日抓取 arXiv 最新论文,并用 DeepSeek 等大模型生成中文摘要,让你用更少时间,快速跟上 A…
daily-arXiv-ai-enhanced 是一个开源工具,通过GitHub Actions每日自动抓取arXiv最新论文,并使用DeepSeek等大模型生成中文摘要,帮助快速跟进AI研究进展。
@GenhuiP78950: 把自己攒了半年的 AI 工具开源了。 不是什么大项目,就是一些我自己每天在用的脚本。抖音 B 站视频转录、播客转文字、公众号文章处理、行业情报扫描…… 陆陆续续写了 11 个。 之前一直自己用,最近统一整理了一下,加了安装脚本,写了文档,…
开源了一套包含11个AI工具脚本的集合,用于从抖音、B站、微信公众号等多渠道采集内容并转录为文字,方便构建个人知识库。支持Claude Code、Codex等Agent直接安装使用。