来自minecraft
来自minecraft

调用hitokoto.cn的API吧,内容多还杂乱无章。
(主要是长,不适合做头部展示)想找一个真正的一句话API,想了好久,中国的古诗不是很好吗,中华文化源远流长,还及其耐人寻味(考试时候,简直欲哭无泪)

寻找代码

我先是在github找,找到了一个,不尽人意,收录故事才20多条,一半都是论语。被我pass掉了。
想自己搭建一个,把『诗经』里面的古诗全弄进来,为什么选择它,因为我觉得《诗经》简直就是诗歌界的扛把子。什么"七月在野,八月在宇","采薇采薇,薇亦柔止","今我来思,雨雪霏霏"……确实牵动我心。但我想到了之前做API,被赞助服务器的徐老师提醒不要乱搞,就放弃念头了。
然后,我就发现了『每日诗词』的网站,就准备给他抓过来,没想到,人家直接提供API接口。

而且,十分强大
for example:

今日诗词
今日诗词

以及本站标题下方文字。

每次返回一句诗词
根据时间、地点、天气、事件智能推荐

推荐机制

  • 根据调用的用户所在地,收集真实世界的信息,包括天气、时间、日期、事件等等
  • 把真实世界信息转化为标签和其他特征,按特征拉取初步推荐池 推荐关联的标签有哪些?
  • 去掉已经推荐过给该用户的诗词
  • 判断诗词的好坏,并且根据一列算法对推荐池的诗词进行打分排序
  • 根据真实世界的不同情况,选择不同的策略进行分段抽取,并缓存
  • 从缓存池逐条返回

这就是我想要的,可以根据环境提供合适图片和故事,支持json,js,sdk多种写法,爱了爱了

这里我推荐采用js写法,简单高效,如有其他需求,请查阅文档。

https://www.jinrishici.com/doc/#image

适用于HTML的初级写法

<p id="jinrishici-sentence">正在加载今日诗词....</p>
 <script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>

这里,我自行将<span>换为<p>,有需要自行换回来,js与p标签可以不写在一起。
使用时将<p>放在需要的位置。将<script>写到合适位置

高级写法

  • 可以自己预处理
<script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
<script type="text/javascript">
  jinrishici.load(function(result) {
    // 自己的处理逻辑
    // 标准js语法
    console.log(result)
  });
</script>

不过,仍需要写入挂载点<p>标签。

可能有一些同学受其他 hitokoto 一言 API 的影响,认为可以直接在服务器用 PHP 的 curl 等方法直接请求接口,这在本接口是 完全错误 的。望悉知。

使用协议

使用本API接口代表您 已经同意 以下的使用协议:

一、 使用本接口,您的网站、小程序、客户端、桌面端等终端(下简称终端)和您的行为必须满足以下条件:

  • 终端内容和您的行为符合中国大陆法律
    不恶意访问、攻击本接口
  • 不使用自动化工具有目的地抓取保存本接口的数据不伪造、仿冒、反向代理本接口
  • 本网站已经在工信部备案,不想被查水表,请各位看官手下留情。 不要在违法网站上面调用本站接口啦。

二、 满足以下条件,您可以 免费使用 本接口
不以本接口及其提供的内容盈利 ,盈利行为包括但不仅限于:出售本接口信息、在以本接口为主体内容的页面中放置广告 等。但如果在有自己内容的页面调用本接口不受该限制。

  • 公司调用,商业调用,二次定制,商务合作,可以申请授权。

今日诗词网址https://www.jinrishici.com/#