马斯克用火箭把人送上天,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历史活动信息基本都在其中。
粉丝们借助项目开发了很多有意思的应用,但是国人程序员参与度比较低。
如果你有兴趣,欢迎去试试?