爱意满满的作品展示区。
lhx2008

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

  lhx2008 ·
xenv · Sep 25, 2018 · 22398 views
This topic created in 2964 days ago, the information mentioned may be changed or developed.



今日诗词



官网: 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 友的支持。

116 replies  •  2018-12-12 13:58:45 +08:00
1  2  
❮ ❯
LengthMin
LengthMin
Sep 25, 2018 via Android
1
很赞
paperseller
paperseller
Sep 25, 2018 via iPhone❤️2
2
不知道做成 ios12 捷径可不可行
Tink
Tink
Sep 25, 2018 via iPhone
3
666,上捷径
lhx2008
lhx2008
OP
Sep 25, 2018 via Android
4
@paperseller 没有玩过 ios,你可以试一下,不过不知道有没有地方存 token (或者 cookies )
Sanko
Sanko
Sep 25, 2018 via Android
5
一直在用旧版接口,支持
JamesSi
JamesSi
Sep 25, 2018 via Android
7
好东西要支持
Tink
Tink
Sep 25, 2018 via iPhone
8
@Tink #6 输出的是诗源,只要推荐诗句的话把那个 origin 删了就行
caijunyi
caijunyi
Sep 26, 2018
9
http://caijunyi.net/ 已经添加,哈哈,好东西
wb14123
wb14123
Sep 26, 2018
10
赞! Demo 里面能把整首诗输出就好了。
YingJie
YingJie
Sep 26, 2018 via Android
11
旧版接口需要更换吗?
wb14123
wb14123
Sep 26, 2018
12
但是测试了一下我在北京好像并没有和北京相关的诗句。
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
13
@wb14123 城市的诗句不多,不太好找。北京在唐宋也不是首都。
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
14
@YingJie 更换最好,也可以不换,旧版继续保留运营
why1
why1
Sep 26, 2018 via Android
15
根据通讯录姓名返回一条怎样
NicholasYX
NicholasYX
Sep 26, 2018 via iPhone
16
支持
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
17
@why1 哈哈,理论上应该也可以,不过现在感觉越来越少存通讯录了。
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
18
@wb14123 排版不太在行,现在就没输出原诗。不知道有没有 UI 或者前端的朋友帮忙搞一下 哈哈
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
19
@caijunyi 谢谢支持
ZiLong
ZiLong
Sep 26, 2018
20
赞
loethen
loethen
Sep 26, 2018
21
很棒 已收藏
yangxiongguo
yangxiongguo
Sep 26, 2018
22
好玩,支持
paperseller
paperseller
Sep 26, 2018 via iPhone
23
@wb14123 添加一个合并文本 action,分隔符为新行
whileFalse
whileFalse
Sep 26, 2018
24
虽然不知道有什么用,但是挺好玩的。
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
25
@whileFalse 可以加到博客最下面也不错
Edwards
Edwards
Sep 26, 2018
26
战略性 mark
xi_lin
xi_lin
Sep 26, 2018
27
很棒,赞一个
azoon
azoon
Sep 26, 2018
28
不错不错,已经把楼主首页的功能直接搬走了。😝
xiyiailoli
xiyiailoli
Sep 26, 2018 via Android
29
mark,周末试试
paperseller
paperseller
Sep 26, 2018 via iPhone❤️2
30
mytry
mytry
Sep 26, 2018❤️1
31
当时我就念了两句诗 👓
https://i.loli.net/2018/09/26/5bab1ddaa05f0.png
KAaBUcT0D4zEgtxZ
KAaBUcT0D4zEgtxZ
Sep 26, 2018
32
小程序可以做成插件,直接集成
undefined8
undefined8
Sep 26, 2018❤️2
33
刷出来个 菊花何太苦,遭此两重阳 。。
lhx2008
lhx2008
OP
Sep 26, 2018 via Android
34
@aslanTT 不知道能不能过审,插件要求比较多,sdk 其实就是帮你请求了个网络而已,我晚上试试。谢谢
LxRuzx
LxRuzx
Sep 26, 2018
35
不错哦 mark 了
KAaBUcT0D4zEgtxZ
KAaBUcT0D4zEgtxZ
Sep 26, 2018
36
@lhx2008 这个过审问题不大,没有涉及到特殊分类,也没有涉及到社交、交易,就是个工具属性的。
lhx2008
lhx2008
OP
Sep 26, 2018
37
@aslanTT 看了一下,自己没有搞公司的号,个人号还没法弄。
097ecom
097ecom
Sep 26, 2018
38
mark 很好玩的样子
097ecom
097ecom
Sep 26, 2018
39
楼主也是米农吧哈哈
lhx2008
lhx2008
OP
Sep 26, 2018
40
@097ecom 不敢不敢,就持有了十几个米这样子,哈哈
techv
techv
Sep 27, 2018
41
不错,已添加: https://imgless.com/
sagaxu
sagaxu
Sep 27, 2018 via Android
42
vertx 可以跟 springboot 一起用,spring 负责配置解析和 ioc,vertx 处理请求。pojo 可以用 mapFrom/mapTo。回调可以用 Future 解决,此外 vertx 也支持 rxjava,甚至连 Kotlin 的 coroutine 也无缝支持了。

vertx 是一站式异步解决方案,webflux 的 clientside 目前基本空白。
EmpCold
EmpCold
Sep 27, 2018
43
很少回复,正准备用一下。厉害了
lhx2008
lhx2008
OP
Sep 27, 2018 via Android
44
@sagaxu
感谢回复
1.和 springboot 用可以的,不过用起来总是感觉怪怪的,webflux 直接免配置提供 springmvc 那一套,包括 函数注解,参数注解,viewmodel,参数校验
2.json 这个,vet.x 自带的很弱,map 功能好像也没有,并且还不太兼容其他的 json 包 /普通对象,比如发上 eventbus 要写一个编解码器 return 一下自己,如果是用 vert.x service 就必须只能传自己的 jsonObject,这个很蛋疼
3. 回调这个确实不是大问题,不过自带的确实也很弱,主要是 eventbus 和 blokingpool 这个回调机制如果不利用的话,其实和 webflux 差不多(都是 netty 搞一层)
4. webflux client 有的,功能不比 vert.x 少,也是异步链式使用的,数据库客户端也有 mongo redis cassandra
https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#webflux-client
sagaxu
sagaxu
Sep 27, 2018 via Android
45
@lhx2008 小项目不建议使用 eventbus,自带的 cluster 也可以不用,走 grpc 或者其它协议也很方便。

vertx 内置支持 rxjava 的 api,rxjava 在响应式这一块儿比谁弱呢?

webflux 作为 client 支持的协议还是太少,比如你贴的文档里,只有 webclient 一种。
lhx2008
lhx2008
OP
Sep 27, 2018 via Android
46
@sagaxu 如果是微服务那些框架,应该是搞到 spring cloud 里面有一套解决方案

其他协议确实是不支持了
saozhu
saozhu
Sep 27, 2018 via iPhone
47
今天什么日子 怎么全都带菊字的
lhx2008
lhx2008
OP
Sep 27, 2018
48
@saozhu 可以看 https://www.jinrishici.com/doc/#how 的表,花类主要是补充一下诗词不够的情况。。
lhx2008
lhx2008
OP
Sep 27, 2018
49
@lhx2008 哦,不,我看了一下,可能只是古诗写菊花的比较多吧。。菊花的事件转化规则还没写
zhuliuqi
zhuliuqi
Sep 28, 2018
50
有意思 mark
tyhtao1990
tyhtao1990
Sep 28, 2018
51
赞,楼主可以的
TimLang
TimLang
Sep 29, 2018
52
@lhx2008 挂 adsense 广告的网站能免费试用吗
lhx2008
lhx2008
OP
Sep 29, 2018 via Android
53
@TimLang 可以,只是说整个网页是 以我的推荐为主要内容 的不行
hanbing135
hanbing135
Sep 29, 2018 via Android
54
建议出个微信小程序
lhx2008
lhx2008
OP
Sep 29, 2018 via Android
55
@hanbing135 本来是有这个计划的,但是迫于 UI 太丑搁置了,而且没得参考。。
moxiaonai
moxiaonai
Sep 29, 2018
56
mark
moxiaonai
moxiaonai
Sep 29, 2018
57
文档太丑,推荐 https://github.com/docsifyjs/docsify 优化一下
lhx2008
lhx2008
OP
Sep 29, 2018
58
@moxiaonai emm,还好吧?比较简洁明了,字大小也比较合适。除了没有代码高亮。acsiidoc 写的,spring 文档同款
dakb
dakb
Sep 29, 2018
59
刚好需要。tks
StevenZhang
StevenZhang
Sep 30, 2018
60
支持
amwyyyy
amwyyyy
Sep 30, 2018
61
不错,我拿来做终端启动的欢迎语了
LWXYFER
LWXYFER
Oct 1, 2018
62
支持
zealzz
zealzz
Oct 2, 2018 via Android
63
可以试着把名人名言也放进去,这样内容应该会更丰富。
testsec
testsec
Oct 3, 2018 via iPhone
64
如果有作者就更好了
lhx2008
lhx2008
OP
Oct 3, 2018 via Android
65
@testsec json 接口啥都有,翻译都有
ddzzhen
ddzzhen
Oct 8, 2018
66
有想法的人
chendeshen
chendeshen
Oct 8, 2018
67
真的赞,真想看其 Spring 源码
liangzi
liangzi
Oct 8, 2018 via Android
68
回头试试
sunnybird
sunnybird
Oct 8, 2018
69
赞,mark
tonghuazhen
tonghuazhen
Oct 9, 2018
70
https://blog.extrastu.xin 已加上,很赞
Nobitasean
Nobitasean
Oct 9, 2018
71
更倾向于壁纸 api
SCaffrey
SCaffrey
Oct 9, 2018 via Android
72
赞~

另:广大赖人站长 哈哈哈
liangzi
liangzi
Oct 10, 2018 via Android
73
hexo 第二步,在你需要放置诗词的地方,添加一个 id 属性,id 名为 jinrishici-sentence 这个到底放哪儿?
lhx2008
lhx2008
OP
Oct 10, 2018
74
@liangzi 放在哪就在哪里显示,比如把下面的两行放到一个空的 html 里面,打开浏览器就可以看到效果


<span id="jinrishici-sentence">正在加载今日诗词....</span>
<script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
liangzi
liangzi
Oct 10, 2018 via Android
75
@lhx2008 回去试试 谢谢
dyxang
dyxang
Oct 11, 2018 via Android
76
楼主可以试试这个百度诗词标签的思路
在手机上是这种效果
http://clients3.google.com/generate_204
dyxang
dyxang
Oct 11, 2018 via Android
77
啊不发错了,是这个
dyxang
dyxang
Oct 11, 2018 via Android
78
要是有程序和这个配合让诗词显示在电脑桌面就好了……
lhx2008
lhx2008
OP
Oct 11, 2018 via Android
79
@dyxang 我采用了这个的部分数据,但是情感,动植物标签这种太泛化了。

显示在桌面也不错,应该十几二十行代码就可以了,不过我对桌面开发不太熟悉
linKnowEasy
linKnowEasy
Oct 12, 2018
80
用楼主的 API, 写了一个 Mac 菜单栏。自己看
dyxang
dyxang
Oct 12, 2018 via Android
81
@linKnowEasy windows 不行吗……😖
linKnowEasy
linKnowEasy
Oct 12, 2018
82
@dyxang windows 可以试试 C # 或者跨平台. 应该也简单的
主要 Mac 在顶部,方便看。windows 的菜单栏在底部.
dyxang
dyxang
Oct 12, 2018 via Android
83
@linKnowEasy 简单但是我不会😣。放弃了😂
corerzhang
corerzhang
Oct 15, 2018
84
请教下楼主,如果是在移动端 App 的调用 JSON-TOKEN 接口,这个接口只需要在 headers 带上 token 参数,那么是如果确定用户的位置的?
lhx2008
lhx2008
OP
Oct 15, 2018 via Android
85
@corerzhang IP 地址都在 TCP 头上面,因为 JSON-TOKEN 也是用户端调用,所以用户向我们的 HTTP 请求会附带 IP 信息
liuooooo
liuooooo
Oct 17, 2018
86
赞
z0ne
z0ne
Oct 17, 2018
87
很棒!

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

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

![]( )
imhx233
imhx233
Oct 17, 2018 via iPhone
88
@livid 这人开了帖子推广他的 Shortcuts 小程序 然后在这里无意义回帖 感觉 spam
z0ne
z0ne
Oct 17, 2018
89
@imhx233 不好意思给你带来了你觉得不舒服的感觉。

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

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


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


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

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

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


第二个是你提的这个,我的想法是不加,因为我这个主要还是站长放到他网站上面,所以是我的接口直接面向的是每一个不同的实际用户,我不想站长替用户做推荐的决定(比如,增加一些附加参数,可能导致推荐效果更差,这是站长难以预料的)。当然我这个产品也必须符合大多数的人的需求才行。
yinqi025
yinqi025
Oct 20, 2018
93
蛮有趣的东西,已收藏
Mystery0
Mystery0
Oct 20, 2018 via Android
94
挺有用的,暫時收藏一個,後面看看能不能加到 app 裡面(不盈利的 app 啦)
lhx2008
lhx2008
OP
Oct 20, 2018 via Android
95
@Mystery0 谢谢,以自己的内容盈利的话没有关系的,我只是不想有人直接拿我的接口去赚钱
lusi1990
lusi1990
Oct 20, 2018
96
很不错 ,收藏
PulpFunction
PulpFunction
Oct 20, 2018
97
![今日诗词]( ‘ https://v2.jinrishici.com/one.svg ’)
PulpFunction
PulpFunction
Oct 20, 2018
98
PulpFunction
PulpFunction
Oct 20, 2018
99
看不出来啊 大佬还是文艺的雅痞
agonyperkey
agonyperkey
Oct 23, 2018
100
我觉得,二十四节气,也可以整合一下标签😁😁😁
1  2  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1847 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 187ms · UTC 01:09 · PVG 09:09 · LAX 17:09 · JFK 20:09
♥ Do have faith in what you're doing.