0%

推荐一套公开的 API 接口

在某些情况下,我们可能想做一些 Demo 或者写一些测试,比如想做个网站展示一些宠物的图片,或者想实现某个 API 请求的实现逻辑,这时候你会怎么做呢?

自己找点数据然后搭建一套 API 接口吗?

可以是可以,虽然说并不是特别麻烦,但准备数据、编写逻辑、设置跨域等还是要费一些时间的。

其实,网上有很多很多免费的 API 接口可以直接拿来用的,而且各种类型的数据应有尽有,有了它们,我们就不用费尽心思自己搭建 API 了。

接下来就来给大家介绍一个库,里面收集了各种公开的数据接口。

public-apis

这个仓库就叫做 public-apis,其 GitHub 地址是 https://github.com/public-apis/public-apis

其介绍是:

A collective list of free APIs for use in software and web development

一套公开 API,可以用于软件和 Web 开发。

这些 API 特别全面,包含了各种各样的类别。

比如我们先来看下他的一些分类:

如图所示,可以看到这个仓库划分了很多大类别,比如动物、设计、书籍、商业、娱乐等几十个大类,按照字母排序,每个大类都有对应的 API 可供我们使用。

比如我们先看下动物的分类,则可以发现类似如下的表格:

这个表格一共有五列,包括 API 的地址、描述、是否需要 Auth、是否支持 HTTPS、是否支持跨域,可以看到动物类别就有好多 API,比如 Dogs、Cats、Bear 等等,这些 API 就可以返回一些猫、狗、熊等图片的列表。

一般来说,我们可以选择 Auth 为 No,HTTPS 为 Yes、CORS 为 Yes 的,即使用 API 不需要 key,同时支持 HTTPS,而且支持跨域,这样在网页中我们就可以自由调用了。

我们随便选几个来看下。

实例演示

Dogs API 就是其中一个,网址为 https://dog.ceo/dog-api/

打开之后我们可以看到一个介绍网站,同时这里有一个 Fetch 按钮,我们点一下就可以获得一张随机的狗狗图片。

其 API 地址就是 https://dog.ceo/api/breeds/image/random,我们也可以直接用浏览器打开,结果如下:

可以看到返回结果是 JSON 格式,我们对其进行简单解析就可以提取里面的 message 字段,也就能获得一张随机的狗狗照片,然后展示在网站上了。

简单写个 html 页面,几行代码就可以实现随机狗狗图片的展示:

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<body>
<img id="dog" />
</body>
<script>
fetch("https://dog.ceo/api/breeds/image/random")
.then((response) => response.json())
.then((data) => {
document.getElementById("dog").src = data.message;
});
</script>
</html>

运行效果如下:

是不是还是挺方便的?

另外回到网站本身,它还提供了相关文档介绍所有接口的用法:https://dog.ceo/dog-api/documentation/

比如这里有列出所有狗的品种、根据品种返回狗的照片、随机狗的照片等等,具体可以去看文档哈。

其他介绍

另外其实还有很多有意思的 API,我们随便来看几个。

EmojiHub

比如 EmojiHub 这个 API 提供了接口来返回一些 Emoji 表情,种类丰富多种多样,https://github.com/cheatsnake/emojihub

Icon Horse

Icon Horse 提供了各种返回网站图标的功能,https://icon.horse/

比如维基百科就可以填写 Wikipedia.org,就可以获取其网站图标了:

bible-api

这个 API 提供了多语言版本的《圣经》内容:https://bible-api.com/

Free Dictionary API

Free Dictionary API 提供了各种单词的查询和释义,我们可以直接用 API 获取某个单词的含义、发音、音标、翻译等:https://dictionaryapi.dev/

EconDB

EconDB 提供了全球宏观经济数据,公开免费:https://www.econdb.com/

NBA stats

NBA Stats 提供了 NBA 有史以来各种数据,比如每场比赛数据、球员数据等等:https://any-api.com/nba_com/nba_com/docs/API_Description

Nobel Prize

Nobel Prize 这个接口返回了有关诺贝尔奖项的各种记录和活动:https://www.nobelprize.org/about/developer-zone-2/

Faker API

Faker API 提供了各种假数据生成器,比如生成假名字、假地址、假电话号码、假地理位置等等,方便测试和开发使用:https://fakerapi.it/en

更多

总之,还有很多很多很多,当然其中也有收费的。

大家到时候有想要的数据可以来这里先搜搜看,说不定会有意外惊喜呢!

非常感谢你的阅读,更多精彩内容,请关注我的公众号「进击的 Coder」和「崔庆才丨静觅」。