今日诗词 API,根据时间、地点、天气、事件智能返回一句古诗词,支持图片和 JSON 返回,提供 SDK,一分钟添加到网站(原一言古诗词 API 升级版)

2018-09-25 21:42:08 +08:00
 lhx2008





官网: https://www.jinrishici.com/

调用文档: https://www.jinrishici.com/doc/


简介

今日诗词 API 是一个可以返回一句古诗词名句的接口。它可以通过图片和 JSON 格式调用。今日诗词 API 根据不同地点、时间、节日、季节、天气、景观、城市、事件进行智能推荐。


怎么调用

博客类的网站可以直接使用 sdk 调用

引入:

<script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>

在需要添加的地方加一个 id="jinrishici-sentence"

比如:

<span id="jinrishici-sentence">正在加载今日诗词....</span>

另有回调函数,可以自行处理,详见 文档

论坛文章可以调用图片

![今日诗词]( https://v2.jinrishici.com/one.svg)

( V2EX 回帖不支持这个)

另有小程序 SDK,详见 文档


为什么要做这个接口

上次在 v2 公开的 旧版本接口 还挺多人使用的,所以花了点时间重做了这个古诗词接口。

在一些游戏中,根据游戏内不同的天气或日期,可以触发一系列“奇遇”或者“成就”,这个感觉非常过瘾。我的想法也是想打通虚拟与现实的界限,做一个没有人做过的诗词推荐产品。当然也感谢一些网友(见 文档 致谢)的建议。


推荐怎么做的

在推荐方面,主要是能根据真实世界的环境做出诗词推荐。这个和传统的推荐系统不同,并不是基于历史数据集推荐的的形式,而主要是利用时间地点上下文信息,把时间地点天气信息转化为事件,根据事件标签进行相关推荐。这个领域我目前还没有看到有相关的产品,所以也是摸石头过河的状态。在评估诗词好坏,推荐契合度的时候,也引入了一些指标,但是具体效果仍待评估。

当然这也可能是一个恶性循环,因为我们没有办法收集用户的喜好,所以可能永远没有办法做到根据个人喜好推荐。当然,也有考虑商用版本,可以基于注册用户的推荐。

这个产品只有我一个人完成,所以无论是推荐事件制定还是诗词源标注上,都是以我自己的经验制定和打标,难免有偏颇之处,不过广大 v 友也可以提提意见,看看如何不断改进这个系统。十分感谢。

详细的推荐思路和推荐标签: https://www.jinrishici.com/doc/#how


关于产品

为了方便广大赖人站长朋友添加这个 API 到网站上,我在上一个版本就已经“独家”搞出基于 svg 的接口返回的形式,不过具体使用上可能还是稍微麻烦。现在我直接把 SDK 也写好,就可以像百度统计一样直接复制调用了。

我也想把影响力扩展到小程序上面,我们为小程序也提供了 SDK,并且我重新注册了一个 .com 域名并且备案(旧接口仍然提供服务,域名不变)。也请 v 友相信这个接口是想长久做的。


关于开发

上一个版本接口用的是 vert.x 开发,vert.x 引入了大量 js 风格,在中大型项目上面非常蛋疼,比如没有 POJO,全是 JsonObject。没有接口,只有类似反射的调用方法。没有 IOC,只能自己 new。还有可怕的回调地狱。

好在 Spring 给了 Java 异步开发者一些希望。Spring Webflux 经过一年多的迭代,已经达到基本能用的水平。尤其是配套的 Reactor 3 采用了类似 Rxjava 的链式操作(或者可以理解为 Stream 的异步加强版),大幅简化了并行开发,异步开发的难度,提高了可读性。目前 Spring Webflux 已经集成在 Spring Boot 2 中,无缝和 SpringMVC 使用方法对接,并且可以无缝享受到 Spring Boot 全家桶。本接口采用 Webflux 开发。

然而 Webflux 也继承了 Spring 家一贯臃肿的风格,性能比 Vert.x 差不少,不过好歹也是运行在 Netty 上,比同步开发的响应速度还是有质的提高。


写在后面

更多有关本产品的细节,我已经在 文档 中阐述。当然,在使用之前,你需要同意我们的使用协议。(不能使用在违法网站上等)。

最后,诚挚的感觉各位 v 友的支持。

19047 次点击
所在节点    分享创造
116 条回复
dyxang
2018-10-12 11:51:06 +08:00
@linKnowEasy windows 不行吗……😖
linKnowEasy
2018-10-12 12:03:03 +08:00
@dyxang windows 可以试试 C # 或者跨平台. 应该也简单的
主要 Mac 在顶部,方便看。windows 的菜单栏在底部.
dyxang
2018-10-12 12:24:49 +08:00
@linKnowEasy 简单但是我不会😣。放弃了😂
corerzhang
2018-10-15 14:46:39 +08:00
请教下楼主,如果是在移动端 App 的调用 JSON-TOKEN 接口,这个接口只需要在 headers 带上 token 参数,那么是如果确定用户的位置的?
lhx2008
2018-10-15 14:52:00 +08:00
@corerzhang IP 地址都在 TCP 头上面,因为 JSON-TOKEN 也是用户端调用,所以用户向我们的 HTTP 请求会附带 IP 信息
liuooooo
2018-10-17 10:12:24 +08:00
z0ne
2018-10-17 12:17:51 +08:00
很棒!

上边很多朋友对 iOS 捷径很感兴趣啊!也有大牛做了出来,我正好有点时间,就把上边大牛做的捷径进行了修改优化+功能扩展,支持复制、分享等操作。

小程序中搜索 ShortCuts 就可以看到捷径下载啦!
或者扫一扫小程序码立即安装:

![]( )
imhx233
2018-10-17 17:04:24 +08:00
@livid 这人开了帖子推广他的 Shortcuts 小程序 然后在这里无意义回帖 感觉 spam
z0ne
2018-10-17 18:54:20 +08:00
@imhx233 不好意思给你带来了你觉得不舒服的感觉。

但是我要反驳一下,关于这个“无意义回帖”,我不太懂你指的无意义是什么?我是否可以理解为你这个回复和主题无关,也属于无意义的回帖?

我是看到上边大佬做出了 iOS 的捷径,而正好,我正在做这一块,然后下载安装体验了下,有很多可以改进优化扩展的地方,于是我直接进行了修改发布然后在这里分享,试问这个从何判断与主题无关呢?


顺便,除了 @站长,你也可以直接 @我的,不然感觉像回到了学生时代,隔壁桌男生举手报告老师说我在看课外读物似的。


语气有点冲,望谅解
z0ne
2018-10-17 18:57:10 +08:00
@z0ne
不然感觉像回到了学生时代,隔壁桌戴着眼镜的男生一脸愤怒地举起了手,“英语老师!他在你的课上看计算机的书!我建议你应该罚他出去站一个小时!”

哈哈~ 开玩笑,冷笑话 🙂
sobigfish
2018-10-19 10:27:10 +08:00
建议可以加 query,省去某些关键词的推荐么,比如地区 全是一个地区的诗 看着也累 或者本来下雨或者很冷 再来关于雨的也很心伤😂
https://v2.jinrishici.com/one.json?DonotMatchTags=area|weather 这么来
lhx2008
2018-10-19 10:43:35 +08:00
@sobigfish

首先说一下推荐方面的。推荐比较单调,比如一般一个人也只有 10 个标签,也就是推这 10 个标签的诗,这个问题存在,但是不太好解决,我目前也没想到什么办法。至于负效果的标签,可以考虑推荐一些正能量的诗?哈哈。


第二个是你提的这个,我的想法是不加,因为我这个主要还是站长放到他网站上面,所以是我的接口直接面向的是每一个不同的实际用户,我不想站长替用户做推荐的决定(比如,增加一些附加参数,可能导致推荐效果更差,这是站长难以预料的)。当然我这个产品也必须符合大多数的人的需求才行。
yinqi025
2018-10-20 09:37:00 +08:00
蛮有趣的东西,已收藏
Mystery0
2018-10-20 11:45:23 +08:00
挺有用的,暫時收藏一個,後面看看能不能加到 app 裡面(不盈利的 app 啦)
lhx2008
2018-10-20 12:10:00 +08:00
@Mystery0 谢谢,以自己的内容盈利的话没有关系的,我只是不想有人直接拿我的接口去赚钱
lusi1990
2018-10-20 15:07:07 +08:00
很不错 ,收藏
PulpFunction
2018-10-20 20:30:10 +08:00
![今日诗词]( ‘ https://v2.jinrishici.com/one.svg ’)
PulpFunction
2018-10-20 20:30:24 +08:00
PulpFunction
2018-10-20 20:31:54 +08:00
看不出来啊 大佬还是文艺的雅痞
agonyperkey
2018-10-23 08:40:30 +08:00
我觉得,二十四节气,也可以整合一下标签😁😁😁

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX