马斯克用火箭把人送上天,SpaceX粉丝把火箭有关信息贴到GitHub。

3.7k Star,GitHub热榜,SpaceX粉丝组织r/SpaceX公布了他们的REST API。

 

r/SpaceX

r/SpaceX是SpaceX粉丝自发组织的社区,日常搜集整理SpaceX的火箭发射信息。

实际上,这不是他们第一次贡献有关数据,之前他们就整理开源过火箭发射Timeline。

 

SpaceX发射时间线

优秀的同一批人,再次出手。

他们整理的API,基本包含了SPaceX成立迄今的所有火箭数据

API包含SpaceX的龙飞船、Starship、发射历史数据、核心舱、起落架、载荷信息等等,应有尽有。

 

这些能拿来干什么?

REST API包含三大部分,clients、app(应用)和原始数据。

其中,API Clients是对现有关于SpaceX的api合集,降低了以往信息查找、汇总的难度。

 

clients详细列表

怎么拿到信息呢?

可以在你的能力范围之内随意使用,当然,版权归属于SpaceX。

REST API数据格式支持json,并且提供多种语言接口,比如C#、Python、PHP、Objective-C等格式。

例如,针对历史活动信息的查询步骤如下:

1、查询信息链接,可选用Postman查看API信息。

 

获取API示例

2、选择任意一门语言,编写适合的查询语句。以Python为例:

import requests

url = "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-API
docker-compose build
docker-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历史活动信息基本都在其中。

粉丝们借助项目开发了很多有意思的应用,但是国人程序员参与度比较低。

如果你有兴趣,欢迎去试试?