今天跟大家分享一个 Github 上诗词古典文集开源数据库(或称之为数据集):chinese-poetry
chinese-poetry:最全中文诗词文集数据库
chinese-poetry 数据集包含 5.5 万首唐诗、26 万首宋诗、2.1 万首宋词和其他古典文集。诗人包括唐宋两朝近 1.4 万古诗人,和两宋时期 1.5 千古词人。(当然如今数据可能已经不止这么多了,该项目有很多志同道合者一直在贡献着、完善着,未来数据量可能更加庞大)
两宋喜欢的词牌名
该项目开源至今为止, GitHub Star 数也达到了 40.8k,这个star数量相当大了,使用人数及贡献者当然也不在少数。现在详细介绍下该项目吧。
项目介绍
GitHub项目地址:https://github.com/chinese-poetry/chinese-poetry
基于chinese-poetry 开发的诗词项目(小程序、网页):https://shici.store/huajianji/
作者做这个项目的初衷?
古诗是中华民族乃至全世界的瑰宝,我们应该传承下去,虽然有古典文集,但大多数人并没有拥有这些书籍。从某种意义上来说,这些庞大的文集离我们是有一定距离的。而电子版方便拷贝,所以此开源数据库诞生了。此数据库通过 JSON 格式分发,可以让我们很方便的开始项目开发。
该项目数据来源?
chinese-poetry 数据集中的所有数据均来自于网络,通过网络爬虫方式进行采集,存储,分析并开源。
如何使用该项目?
在使用该项目时,可以根据自己的需要选择相应的数据文件进行下载,也可以使用提供的API接口进行数据获取和处理。该项目的数据文件格式为JSON,非常易于处理和解析。
数据采集过程分析
在项目中,作者也着重的说明了全宋词采集过程及针对各个维度高频词做了词云分析。让人一目了然,可以更加直观的了解宋词,宋词的主要贡献作者等等。
比如:针对采集的宋词数据,进行宋词作者产量分析
从下图词云可以发现,辛弃疾 是两宋现存词最多的作家, 还有一些虽然产量丰富但未必是我们所熟知的。
针对采集的宋词数据,进行宋词作者产量分析
还有,最受欢迎的词牌名排名分析
而从下图词云,可以发现,浣溪沙 作为婉约、豪放两派所常用的词牌, 在两宋时期作为最受欢迎的词牌名。
最受欢迎的词牌名排名分析
数据采集技术栈
技术栈:Python + parsel + peewee + requests + jieba
利用Python语言的特性,再加之丰富的第三方库,可快速进行网络数据请求,并解析处理分析出我们想要的数据,从而完善了 chinese-poetry 开源中文诗歌古集数据库。
完整代码:https://gist.github.com/jackeyGao/d73381087b1278177aab60636f635119#file-crawl_songci_parse-py
采集代码截取片段
数据集
- 全唐诗
- 全宋诗
- 全宋词
- 五代·花间集
- 五代·南唐二主词
- 论语
- 诗经
- 幽梦影
- 四书五经
- 蒙學
- 纳兰性德诗集
案例展示
1、诗词解谜小游戏
项目地址:https://peotik.com/
诗词解谜小游戏
2、中文诗歌主页
中文诗歌主页是一个基于浏览器的诗词网站,包含唐诗三百首、宋词三百首等文集。呈现方式有诗词周历、日历小程序等。
项目地址:https://shici.store/
中文诗歌主页
3、诗词墨客小程序
该项目采用 Wepy 框架 + iview-weapp UI组件库,古诗词数据源来自于 chinese-poetry 开源仓库,包含5.5万首唐诗、26万首宋诗和2.1万首宋词. 唐宋两朝近1.4万古诗人, 和两宋时期1.5K词人。
项目地址:https://github.com/nslogx/weapp-poem
诗词墨客小程序
总结
基于该中文诗词数据集项目,可以集成相关诗词 API 接口,嵌入第三方平台、系统、小程序中,也可以作为练手的项目小试牛刀,嵌入到自己的小项目中作为每日古诗集推荐等等。
最后,值得一提的是,该项目的开发和维护是由一群热爱中华文化的志愿者完成的。为更多人了解和学习中华文化提供支持和帮助。这个项目的开源精神和志愿者精神也值得我们学习和借鉴。
总之,该项目是一个非常有价值的开源数据库,为研究和传承中国文化传统提供了重要的资源和支持。如果对中国古代文学和文化传统感兴趣,或者需要相关的语料库资源,那么这个项目绝对值得一试。