【已关闭】Hitokoto API——853源

hitokoto.us已恢复,请将API更改至hitokoto.us或其他源

——Sonic853

一言来源:http://hitokoto.us/api.html

由于不知为什么,hitokoto.us不能打开了。

幸好来自某网友的群里有人上传了从Hitokoto抓来的数据(貌似?)

我就尝试制作这棘手的玩意

嘛。。试试我学习来的PHP和MySQL知识是否能够运用

Ps:该API仅供学习与私人使用,只在官方一言网站出现故障时才启用该API,禁止商业化。

现在该API已制作完成,以下将说明调用方法:

获取方法


数据获取

获取地址:http://hitokoto.bronya.net/rand/
请求方式:GET
字符集暂时只支持utf8
请求参数:

encode 数据格式,对应如下
    json 默认为此,返回JSON格式数据
    mix 直接简化输出hitokoto
    js 返回函数名为hitokoto的JavaScript脚本,用于同步调用
    mixjs 返回函数名为hitokoto的JavaScript脚本,用于同步调用【简化】
    jsc 返回指定CallBack函数名的JavaScript脚本,可用于异步调用
    fun 用于异步调用时,指定CallBack的函数名,不可包含特殊字符

实例:

请求:

http://hitokoto.bronya.net/rand/?encode=json

返回:

{
    hitokoto :  "呐,知道么,樱花飘落的速度,是每秒五厘米哦~",
    catname :  "动画",
    author :  "烤飞鱼的土豆",
    source :  "秒速五厘米",
    date :  "2011.10.15 23:53:03"
}

参数说明:

hitokoto 一言的正文部分,不包含前后引号
catname 分类名称
author 一言的投稿人
source 一言的出处,可能为空
date 一言的投稿日期

调用举例 – JavaScript + HTML【推荐】

脚本地址:http://hitokoto.bronya.net/rand/?encode=mixjs

使用方法:

1. 将下面这段代码放入页面内需要展示一句话的位置即可

<script type="text/javascript" src="http://hitokoto.bronya.net/rand/?encode=mixjs"></script><div id="hitokoto"><script>hitokoto()</script></div>

该脚本实质为document.write的脚本。


调用举例 – JavaScript + HTML

脚本地址:http://hitokoto.bronya.net/rand/?encode=js

使用方法:

1. 将下面这段代码放入HTML页面的head标签内

<script type="text/javascript" src="http://hitokoto.bronya.net/rand/?encode=js"></script>

2. 将下面这段代码放入页面内需要展示一句话的位置即可

<div id="hitokoto"><script>hitokoto()</script></div>

该脚本实质为document.write的脚本。


调用举例 – JavaScript + JSON CallBack

脚本地址:http://hitokoto.bronya.net/rand/?encode=jsc

使用方法:

同步:

1. 将下面这段代码放入HTML页面的head标签内

<script type="text/javascript" src="http://hitokoto.bronya.net/rand/?encode=jsc&fun=sync"></script>

该脚本会与页面同步加载,加载成功后会自动调用指定的函数名,本实例中为sync,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。

异步

1. 将下面这段代码放入HTML页面的最底部

<script type="text/javascript">setTimeout(function(){var hjs=document.createElement('script');hjs.setAttribute('src','http://hitokoto.bronya.net/rand/?encode=jsc&fun=async');document.body.appendChild(hjs);},100);</script>

通过setTimeout加载JavaScript脚本达到异步加载js脚本的目的,加载成功后会自动调用指定的函数名,本实例中为async,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。


这是示例:

19个评论在“【已关闭】Hitokoto API——853源

  1. #(滑稽) #(滑稽) #(滑稽) 说好的853条数据呢,我获取数据这么久 #(滑稽) #(滑稽) #(滑稽) ,明明就只有486条。。。。和其他现在还有一言的网站一样,爬取出来的也只有不到五百条。。。能给我数据吗?不要怪我一直获取数据,你这个没有限制一定时间获取的数量,好容易给你搞炸 #(乖) #(乖) #(乖) 我貌似已经确定,数据只有486条了。。。我记得最后一次访问hitokoto.us时数据好像是一千多条

发表评论

电子邮件地址不会被公开。 必填项已用*标注

插入图片 #(滑稽) #(汗) #(冷) #(黑线) #(喷) #(吐舌) #(乖) #(惊讶) #(惊哭) #(疑问) #(阴脸) #(怒) 更多 »