一言:一句话的接口

一言网,用心践行“用代码表达言语的魅力,用代码书写山河的壮丽”。

先上官网链接:点击访问一言网

这个网站是干什么的?

下面是一言官方自述:

一言网(hitokoto.cn)创立于 2016 年,隶属于萌创团队,目前网站主要提供一句话服务。

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

你可以完全免费使用他的接口,获取句子信息,并用于网页设计、爬虫等技术中。

那么,如何使用他的接口呢?

语句接口 | 一言开发者中心

下面是风所用到的有用的接口信息,来源于一言开发者中心,可点击上方链接查看详情。作为一个良心的免费的网站,请多多访问官网支持一言哦!😃 😃 😃

请求地址

地址协议方法QPS 限制线路
v1.hitokoto.cnHTTPSAny3.5全球
international.v1.hitokoto.cnHTTPSAny10国外

请注意:一言域名已加入 HSTS 预加载计划,所有请求一律以 HTTPS 方法进行。

请求参数

参数可选说明
c见后表句子类型
encode见后表返回编码
charset见后表字符集
callback如:moe调用的异步函数
select默认:.hitokoto选择器。配合 encode=js 使用
min_length默认:0返回句子的最小长度(包含)
max_length默认:30返回句子的最大长度(包含)

句子类型(参数)

参数说明
a动画
b漫画
c游戏
d文学
e原创
f来自网络
g其他
h影视
i诗词
j网易云
k哲学
l抖机灵
其他作为 动画 类型处理

可选择多个分类,例如: ?c=a&c=c

返回编码(参数)

参数说明
text返回纯洁文本
json返回格式化后的 JSON 文本
js返回指定选择器的同步调用函数。默认选择器为:.hitokoto
其他返回格式化后的 JSON 文本

字符集(参数)

参数说明
utf-8返回 utf-8 编码的内容
gbk返回 gbk 编码的内容。不支持与异步函数同用
其他返回 utf-8 编码的内容

返回格式

返回参数名称描述
id一言标识
hitokoto一言正文。编码方式 unicode。使用 utf-8。
type类型。请参考第三节参数的表格
from一言的出处
from_who一言的作者
creator添加者
creator_uid添加者用户标识
reviewer审核员标识
uuid一言唯一标识;可以访问 https://hitokoto.cn/?uuid=[uuid] 查看这个一言的完整信息
commit_from提交方式
created_at添加时间
length句子长度

所提供的使用示例

网页HTML编写

请注意:
本例所有写法(除 XMLHttpRequest 示例)使用 ES6 语法。如果您想考虑兼容非现代浏览器(如:IE),需要您自行转换。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!-- 请注意,以下的示例包含超链接,您可能需要手动配置样式使其不变色。如果您嫌麻烦,可以移除。 -->
<p id="hitokoto"><a href="#" id="hitokoto_text">:D 获取中...</a></p>
<!-- 以下写法,选取一种即可 -->

<!-- 现代写法,推荐(不支持 IE) -->
<script>
fetch('https://v1.hitokoto.cn')
.then(response => response.json())
.then(data => {
const hitokoto = document.getElementById('hitokoto_text')
hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
</script>

<!-- 如果你配置了 axios -->
<script>
axios.get('https://v1.hitokoto.cn')
.then(({ data }) => {
const hitokoto = document.getElementById('hitokoto_text')
hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
</script>

<!-- 如果你的站点使用了 jQuery(如果是 JQ 3.x 以及更新的版本, 你得使用完整版的 JQ), 那么你可以... -->
<script>
$.ajax({
type: 'GET',
url: 'https://v1.hitokoto.cn',
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'hitokoto',
success (data) {
$('#hitokoto_text').attr('href', 'https://hitokoto.cn/?uuid=' + data.uuid)
$('#hitokoto_text').text(data.hitokoto)
},
error (jqXHR, textStatus, errorThrown) {
// 错误信息处理
console.error(textStatus, errorThrown)
}
})
</script>
<!-- P.S 我们不推荐使用 jQuery Ajax。 推荐使用 fetch api 或者 axios.js-->

<!-- 老式写法,兼容性最好; 支持 IE -->
<script>
var xhr = new XMLHttpRequest();
xhr.open('get', 'https://v1.hitokoto.cn');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
var data = JSON.parse(xhr.responseText);
var hitokoto = document.getElementById('hitokoto_text');
hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid
hitokoto.innerText = data.hitokoto;
}
}
xhr.send();
</script>

<!-- 新 API 方法, 十分简洁 -->
<script src="https://v1.hitokoto.cn/?encode=js&select=%23hitokoto" defer></script>

句子收集

由于一言不提供 id 搜索句子的功能,故风只能通过 Python 爬虫并进行句子查重收集句子数据,数据并不全面。截止时间:2023-05-21。

因资源较大,提供 txt 文本。其中一条信息占一行,以字典类型存储数据,共 2366 条,按 id 大小排序:点击下载

诸位如有类似资源恳请互相分享,欢迎在评论区分享你的资源!

一言:一句话的接口

http://blog.junewind.top/p/45ffd488/

作者

JuneWind

发布于

2022-08-26

更新于

2023-08-02

许可协议

评论