4

推荐一套公开的 API 接口

 2 years ago
source link: https://cuiqingcai.com/36064.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在某些情况下,我们可能想做一些 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 特别全面,包含了各种各样的类别。

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

50ad0.png

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

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

hioxz.png

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

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

我们随便选几个来看下。

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

f7ivx.png

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

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

mgdo7.png

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

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

<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>

运行效果如下:

0p033.png

是不是还是挺方便的?

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

0gk4e.png

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

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

EmojiHub

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

gafvo.png

Icon Horse

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

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

pr922.png

bible-api

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

2tx6e.png

Free Dictionary API

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

jfe73.png

EconDB

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

j4p1y.png

NBA stats

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

bu4b7.png

Nobel Prize

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

bchlj.png

Faker API

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

qcllw.png

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK