推薦 GitHub 上的一套公開 API 介面,簡直不要太全!

語言: CN / TW / HK

閱讀本文大概需要 3 分鐘。

在某些情況下,我們可能想做一些 Demo 或者寫一些測試,比如想做個網站展示一些寵物的圖片,或者想實現某個 API 請求的實現邏輯,這時候你會怎麼做呢?

自己找點資料然後搭建一套 API 介面嗎?

可以是可以,雖然說並不是特別麻煩,但準備資料、編寫邏輯、設定跨域等還是要費一些時間的。

其實,網上有很多很多免費的 API 介面可以直接拿來用的,而且各種型別的資料應有盡有,有了它們,我們就不用費盡心思自己搭建 API 了。

接下來就來給大家介紹一個庫,裡面收集了各種公開的資料介面。

public-apis

這個倉庫就叫做 public-apis,其 GitHub 地址是 http://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 就是其中一個,網址為 http://dog.ceo/dog-api/

開啟之後我們可以看到一個介紹網站,同時這裡有一個 Fetch 按鈕,我們點一下就可以獲得一張隨機的狗狗圖片。

其 API 地址就是 http://dog.ceo/api/breeds/image/random ,我們也可以直接用瀏覽器開啟,結果如下:

可以看到返回結果是 JSON 格式,我們對其進行簡單解析就可以提取裡面的 message 欄位,也就能獲得一張隨機的狗狗照片,然後展示在網站上了。

簡單寫個 html 頁面,幾行程式碼就可以實現隨機狗狗圖片的展示:

<html>
<body>
<img id="dog" />
</body>
<script>
fetch("http://dog.ceo/api/breeds/image/random")
.then((response) => response.json())
.then((data) => {
document.getElementById("dog").src = data.message;
});
</script>
</html>

執行效果如下:

是不是還是挺方便的?

另外回到網站本身,它還提供了相關文件介紹所有介面的用法: http://dog.ceo/dog-api/documentation/

比如這裡有列出所有狗的品種、根據品種返回狗的照片、隨機狗的照片等等,具體可以去看文件哈。

其他介紹

另外其實還有很多有意思的 API,我們隨便來看幾個。

EmojiHub

比如 EmojiHub 這個 API 提供了介面來返回一些 Emoji 表情,種類豐富多種多樣, http://github.com/cheatsnake/emojihub

Icon Horse

Icon Horse 提供了各種返回網站圖示的功能, http://icon.horse/

比如維基百科就可以填寫 Wikipedia.org,就可以獲取其網站圖示了:

bible-api

這個 API 提供了多語言版本的《聖經》內容: http://bible-api.com/

Free Dictionary API

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

EconDB

EconDB 提供了全球巨集觀經濟資料,公開免費: http://www.econdb.com/

NBA stats

NBA Stats 提供了 NBA 有史以來各種資料,比如每場比賽資料、球員資料等等: http://any-api.com/nba\_com/nba\_com/docs/API\_Description

Nobel Prize

Nobel Prize 這個介面返回了有關諾貝爾獎項的各種記錄和活動: http://www.nobelprize.org/about/developer-zone-2/

Faker API

Faker API 提供了各種假資料生成器,比如生成假名字、假地址、假電話號碼、假地理位置等等,方便測試和開發使用: http://fakerapi.it/en

更多

總之,還有很多很多很多,當然其中也有收費的。

大家到時候有想要的資料可以來這裡先搜搜看,說不定會有意外驚喜呢!

End

崔慶才的新書 《Python3網路爬蟲開發實戰(第二版)》 已經正式上市了!書中詳細介紹了零基礎用 Python 開發爬蟲的各方面知識,同時相比第一版新增了 JavaScript 逆向、Android 逆向、非同步爬蟲、深度學習、Kubernetes 相關內容,‍同時本書已經獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!

內容介紹: 《Python3網路爬蟲開發實戰(第二版)》內容介紹

掃碼購買

好文和朋友一起看~