推薦 GitHub 上的一套公開 API 接口,簡(jiǎn)直不要太全!
閱讀本文大概需要 3 分鐘。
在某些情況下,我們可能想做一些 Demo 或者寫一些測(cè)試,比如想做個(gè)網(wǎng)站展示一些寵物的圖片,或者想實(shí)現(xiàn)某個(gè) API 請(qǐng)求的實(shí)現(xiàn)邏輯,這時(shí)候你會(huì)怎么做呢?
自己找點(diǎn)數(shù)據(jù)然后搭建一套 API 接口嗎?
可以是可以,雖然說并不是特別麻煩,但準(zhǔn)備數(shù)據(jù)、編寫邏輯、設(shè)置跨域等還是要費(fèi)一些時(shí)間的。
其實(shí),網(wǎng)上有很多很多免費(fèi)的 API 接口可以直接拿來用的,而且各種類型的數(shù)據(jù)應(yīng)有盡有,有了它們,我們就不用費(fèi)盡心思自己搭建 API 了。
接下來就來給大家介紹一個(gè)庫,里面收集了各種公開的數(shù)據(jù)接口。
public-apis
這個(gè)倉庫就叫做 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 開發(fā)。
這些API 特別全面,包含了各種各樣的類別。
比如我們先來看下他的一些分類:

如圖所示,可以看到這個(gè)倉庫劃分了很多大類別,比如動(dòng)物、設(shè)計(jì)、書籍、商業(yè)、娛樂等幾十個(gè)大類,按照字母排序,每個(gè)大類都有對(duì)應(yīng)的 API 可供我們使用。
比如我們先看下動(dòng)物的分類,則可以發(fā)現(xiàn)類似如下的表格:

這個(gè)表格一共有五列,包括 API 的地址、描述、是否需要 Auth、是否支持 HTTPS、是否支持跨域,可以看到動(dòng)物類別就有好多 API,比如 Dogs、Cats、Bear 等等,這些 API 就可以返回一些貓、狗、熊等圖片的列表。
一般來說,我們可以選擇 Auth 為 No,HTTPS 為 Yes、CORS 為 Yes 的,即使用 API 不需要 key,同時(shí)支持 HTTPS,而且支持跨域,這樣在網(wǎng)頁中我們就可以自由調(diào)用了。
我們隨便選幾個(gè)來看下。
實(shí)例演示
Dogs API 就是其中一個(gè),網(wǎng)址為 https://dog.ceo/dog-api/

打開之后我們可以看到一個(gè)介紹網(wǎng)站,同時(shí)這里有一個(gè) Fetch 按鈕,我們點(diǎn)一下就可以獲得一張隨機(jī)的狗狗圖片。
其 API 地址就是 https://dog.ceo/api/breeds/image/random,我們也可以直接用瀏覽器打開,結(jié)果如下:

可以看到返回結(jié)果是 JSON 格式,我們對(duì)其進(jìn)行簡(jiǎn)單解析就可以提取里面的 message 字段,也就能獲得一張隨機(jī)的狗狗照片,然后展示在網(wǎng)站上了。
簡(jiǎn)單寫個(gè) html 頁面,幾行代碼就可以實(shí)現(xiàn)隨機(jī)狗狗圖片的展示:
<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>
運(yùn)行效果如下:

是不是還是挺方便的?
另外回到網(wǎng)站本身,它還提供了相關(guān)文檔介紹所有接口的用法:https://dog.ceo/dog-api/documentation/

比如這里有列出所有狗的品種、根據(jù)品種返回狗的照片、隨機(jī)狗的照片等等,具體可以去看文檔哈。
其他介紹
另外其實(shí)還有很多有意思的 API,我們隨便來看幾個(gè)。
EmojiHub
比如 EmojiHub 這個(gè) API 提供了接口來返回一些 Emoji 表情,種類豐富多種多樣,https://github.com/cheatsnake/emojihub

Icon Horse
Icon Horse 提供了各種返回網(wǎng)站圖標(biāo)的功能,https://icon.horse/
比如維基百科就可以填寫 Wikipedia.org,就可以獲取其網(wǎng)站圖標(biāo)了:

bible-api
這個(gè) API 提供了多語言版本的《圣經(jīng)》內(nèi)容:https://bible-api.com/:

Free Dictionary API
Free Dictionary API 提供了各種單詞的查詢和釋義,我們可以直接用 API 獲取某個(gè)單詞的含義、發(fā)音、音標(biāo)、翻譯等:https://dictionaryapi.dev/

EconDB
EconDB 提供了全球宏觀經(jīng)濟(jì)數(shù)據(jù),公開免費(fèi):https://www.econdb.com/

NBA stats
NBA Stats 提供了 NBA 有史以來各種數(shù)據(jù),比如每場(chǎng)比賽數(shù)據(jù)、球員數(shù)據(jù)等等:https://any-api.com/nba\_com/nba\_com/docs/API\_Description

Nobel Prize
Nobel Prize 這個(gè)接口返回了有關(guān)諾貝爾獎(jiǎng)項(xiàng)的各種記錄和活動(dòng):https://www.nobelprize.org/about/developer-zone-2/

Faker API
Faker API 提供了各種假數(shù)據(jù)生成器,比如生成假名字、假地址、假電話號(hào)碼、假地理位置等等,方便測(cè)試和開發(fā)使用:https://fakerapi.it/en

更多
總之,還有很多很多很多,當(dāng)然其中也有收費(fèi)的。
大家到時(shí)候有想要的數(shù)據(jù)可以來這里先搜搜看,說不定會(huì)有意外驚喜呢!

End
崔慶才的新書《Python3網(wǎng)絡(luò)爬蟲開發(fā)實(shí)戰(zhàn)(第二版)》已經(jīng)正式上市了!書中詳細(xì)介紹了零基礎(chǔ)用 Python 開發(fā)爬蟲的各方面知識(shí),同時(shí)相比第一版新增了 JavaScript 逆向、Android 逆向、異步爬蟲、深度學(xué)習(xí)、Kubernetes 相關(guān)內(nèi)容,?同時(shí)本書已經(jīng)獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!
內(nèi)容介紹:《Python3網(wǎng)絡(luò)爬蟲開發(fā)實(shí)戰(zhàn)(第二版)》內(nèi)容介紹

掃碼購買
