1)lat —我们想要的位置的纬度 。
2)lon —我们想要的位置的经度 。
我们可以使用这些参数制作字典,然后将它们传递给requests.get函数 。
我们还可以通过将查询参数添加到url中来直接做同样的事情,如下所示:***/iss-pass.json?lat=40.71&lon=-74 。
将参数设置为字典几乎总是可取的,因为requests它可以处理一些事情,例如正确设置查询参数的格式 。
我们将使用纽约市的坐标进行请求,然后查看得到的答复 。
文章插图
b'{n “message”: “success”, n “request”: {n “altitude”: 100, n “datetime”: 1441417753, n “latitude”: 40.71, n “longitude”: -74.0, n “passes”: 5n }, n “response”: [n {n “duration”: 330, n “risetime”: 1441445639n }, n {n “duration”: 629, n “risetime”: 1441451226n }, n {n “duration”: 606, n “risetime”: 1441457027n }, n {n “duration”: 542, n “risetime”: 1441462894n }, n {n “duration”: 565, n “risetime”: 1441468731n }n ]n}’
b'{n “message”: “success”, n “request”: {n “altitude”: 100, n “datetime”: 1441417753, n “latitude”: 40.71, n “longitude”: -74.0, n “passes”: 5n }, n “response”: [n {n “duration”: 329, n “risetime”: 1441445639n }, n {n “duration”: 629, n “risetime”: 1441451226n }, n {n “duration”: 606, n “risetime”: 1441457027n }, n {n “duration”: 542, n “risetime”: 1441462894n }, n {n “duration”: 565, n “risetime”: 1441468731n }n ]n}’
使用JSON数据
您可能已经注意到,响应的内容之前是a string(尽管它显示为bytes对象,但是我们可以使用轻松地将内容转换为字符串response.content.decode(“utf-8”)) 。
字符串是我们将信息来回传递给API的方式,但是很难从字符串中获取我们想要的信息 。我们如何知道如何解码返回的字符串并在大数据分析Python中使用它?我们如何altitude从字符串响应中找出ISS的含义?
幸运的是,有一种名为Javascript Object Notation(JSON)的格式 。JSON是一种将列表和字典之类的数据结构编码为字符串的方法,以确保它们易于被机器读取 。JSON是将数据来回传递给API的主要格式,大多数API服务器将以JSON格式发送其响应 。
json套件随附大数据分析Python强大的JSON支持 。该json软件包是标准库的一部分,因此我们无需安装任何程序即可使用它 。我们既可以将列表和字典转换为JSON,也可以将字符串转换为列表和字典 。就我们的ISS Pass数据而言,它是一个字典,编码为JSON格式的字符串 。
json库有两种主要方法:
1)dumps —接收一个大数据分析Python对象,并将其转换为字符串 。
2)loads —接收JSON字符串,并将其转换为大数据分析Python对象 。
文章插图
从API请求获取JSON
通过使用.json()响应上的方法,您可以将响应的内容作为大数据分析Python对象获取 。
文章插图
{‘response’: [{‘risetime’: 1441456672, ‘duration’: 369}, {‘risetime’: 1441462284, ‘duration’: 626}, {‘risetime’: 1441468104, ‘duration’: 581}, {‘risetime’: 1441474000, ‘duration’: 482}, {‘risetime’: 1441479853, ‘duration’: 509}], ‘message’: ‘success’, ‘request’: {‘latitude’: 37.78, ‘passes’: 5, ‘longitude’: -122.41, ‘altitude’: 100, ‘datetime’: 1441417753}}
内容类型
服务器不仅会在生成响应时发送状态码和数据 。它还发送包含有关如何生成数据以及如何对其进行解码的信息的元数据 。这存储在响应头中 。在大数据分析Python中,我们可以使用headers响应对象的属性来访问它 。
标头将显示为字典 。在标题中,content-type是目前最重要的键 。它告诉我们响应的格式以及如何对其进行解码 。大数据分析Python API入门教程***.cn/data/2308.html对于OpenNotify API,格式为JSON,这就是为什么我们可以json更早地使用包对其进行解码的原因 。
文章插图
寻找太空中的人数
- 陶瓷过滤板使用寿命数据
- 电烤箱第一次如何使用
- 教学扩音器如何使用
- 自救器使用步骤
- 使用贴标机需要注意什么?
- 超市提倡使用环保纸袋,有人却觉得自带掉面子,你怎么看?
- 经常泡脚泡到出汗好不好 女人每天泡脚泡到出汗好吗
- 前挡风除雾怎么使用
- 驻车暖风怎么使用
- excel文件后缀名xlw怎么打开