在某些情况下,我们可能想做一些 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 |
<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」和「崔庆才丨静觅」。