馬斯克用火箭把人送上天,SpaceX粉絲把火箭有關資訊貼到GitHub。
3.7k Star,GitHub熱榜,SpaceX粉絲組織r/SpaceX公佈了他們的REST API。
△r/SpaceXr/SpaceX是SpaceX粉絲自發組織的社群,日常蒐集整理SpaceX的火箭發射資訊。
實際上,這不是他們第一次貢獻有關資料,之前他們就整理開源過火箭發射Timeline。
△SpaceX發射時間線優秀的同一批人,再次出手。
他們整理的API,基本包含了SPaceX成立迄今的所有火箭資料。
API包含SpaceX的龍飛船、Starship、發射歷史資料、核心艙、起落架、載荷資訊等等,應有盡有。
這些能拿來幹什麼?REST API包含三大部分,clients、app(應用)和原始資料。
其中,API Clients是對現有關於SpaceX的api合集,降低了以往資訊查詢、彙總的難度。
△clients詳細列表怎麼拿到資訊呢?
REST API資料格式支援json,並且提供多種語言介面,比如C#、Python、PHP、Objective-C等格式。
例如,針對歷史活動資訊的查詢步驟如下:
1、查詢資訊連結,可選用Postman檢視API資訊。
△獲取API示例2、選擇任意一門語言,編寫適合的查詢語句。以Python為例:
import requestsurl = "https://api.spacexdata.com/v3/history"payload = {}files = {}headers= {}response = requests.request("GET", url, headers=headers, data = payload, files = files)print(response.text.encode('utf8'))
那麼你會看到json格式的回傳資料:
△response資訊當然,你也可以選擇你喜歡的語言去編寫獲取API的程式碼。
拿到資料之後,就可以做一些有意思的事情了,r/SpaceX列出一些示例應用,並且大多開源,可以上手學習。
△app列表比如表中的SpaceXLaunches.com網站,能實時記錄SpaceX最新發射訊息。
網頁不方便查詢,還可以安裝到手機上檢視發射資訊,比如SpaceX GO!。
可以這樣說,REST API記錄的是整個SpaceX和火箭的記錄資訊,但是需要指出的是,這個API不能讓你來造火箭,並不包含火箭的製造步驟。
準確的說是SpaceX的歷史詳細資訊記錄表,拿來造火箭是不行的,可以拿來看火箭發射。
部署方式一覽REST API提供的資訊儲存在MongoDB中,查詢格式支援json,並且藉助Postman部署,便於查詢和使用。
△Postman介面當然,如果你想拉取整個專案進行開發,可以透過線上查詢api的方式進行,也可以透過docker部署和本地部署,三種方式,看你喜好。
1、docker部署步驟:
git clone https://github.com/r-spacex/SpaceX-API.git && cd SpaceX-APIdocker-compose builddocker-compose up
2、本地部署(不使用docker)
2.1 克隆專案至本地
git clone https://github.com/r-spacex/SpaceX-API.git && cd SpaceX-API
2.2 使用npm安裝
npm install
2.3 進行測試
npm test
2.4 開始使用
npm test
動手試試REST API專案提供了豐富的資料,關於SpaceX歷史活動資訊基本都在其中。
粉絲們藉助專案開發了很多有意思的應用,但是國人程式設計師參與度比較低。
傳送門:https://github.com/r-spacex/SpaceX-API
https://docs.spacexdata.com/?version=latest
https://www.reddit.com/r/spacex/
薦:
【中國風動漫】除了《哪吒》,這些良心國產動畫也應該被更多人知道!宣告