geekdoc-python-zh/docs/askpython/pull-data-from-an-api.md

4.3 KiB
Raw Permalink Blame History

用 Python 从 API 中提取数据——详细指南!

原文:https://www.askpython.com/python/examples/pull-data-from-an-api

读者朋友们,你们好!在本文中,我们将关注如何从 Python 中的 API 中提取数据。

所以,让我们开始吧!


使用 Python 从 API 提取数据的步骤

现在让我们来关注一下从 API 中提取特定数据需要遵循的步骤。

您可以查看关于 连接到 API 的文章,以了解更多关于 API 和响应状态代码等的信息。

让我们开始吧!


示例 1:从开源 COVID API 中提取数据

在这个例子中,我们将连接到一个开源的 COVID API只是为了以定制的方式提取和解析 json 信息。


1.连接到 API

首先,我们需要连接到一个 API 并建立一个安全连接,如下所示

在本文中,我们使用了 COVID19-India API 从 state-wise 列表中获取案例数据。

import requests
import json
response_API = requests.get('https://api.covid19india.org/state_district_wise.json')
#print(response_API.status_code)

当我们从 API 中提取数据时,我们使用了get()函数从 API 中获取信息。


2.从 API 获取数据

在与 API 建立了健康的连接之后,下一个任务是从 API 中提取数据。看下面的代码!

data = response_API.text

requests.get(api_path).text帮助我们从提到的 API 中提取数据。


3.将数据解析成 JSON 格式

提取完数据后,现在是将数据转换和解码成正确的 JSON 格式的时候了,如下所示

json.loads(data)

json.loads()函数将数据解析成 JSON 格式。


4.提取数据并打印出来

JSON 格式包含的数据是类似于 Python 字典的键值格式。因此,我们可以使用如下所示的关键值提取并打印数据

parse_json['Andaman and Nicobar Islands']['districtData']['South Andaman']['active']


你可以在下面找到完整的代码!

import requests
import json
response_API = requests.get('https://api.covid19india.org/state_district_wise.json')
#print(response_API.status_code)
data = response_API.text
parse_json = json.loads(data)
active_case = parse_json['Andaman and Nicobar Islands']['districtData']['South Andaman']['active']
print("Active cases in South Andaman:", active_case)

输出:

Active cases in South Andaman: 19


示例 2:从开源 GMAIL API 中提取数据

现在,让我们连接并从 GMAIL API 中提取数据。这个 API 代表了我们可以从 API 中获取的一般结构和信息。

所以,让我们开始吧!

看看下面的代码吧!

举例:

import requests
import json
response_API = requests.get('https://gmail.googleapis.com/$discovery/rest?version=v1')
#print(response_API.status_code)
data = response_API.text
parse_json = json.loads(data)
info = parse_json['description']
print("Info about API:\n", info)
key = parse_json['parameters']['key']['description']
print("\nDescription about the key:\n",key)

输出:

Info about API:
 The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels.

Description about the key:
 API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

说明:

  • 首先,我们使用get()函数连接到通用的 GMAIL API。
  • 在与 API 形成健康的连接后,我们使用response_object.text 从 API 获取数据
  • 现在,我们使用json.loads()函数将数据解析成 JSON 格式。
  • 最后,我们从 JSON 对象中提取数据,比如 API 的描述和键的描述。
  • 您可以通过访问示例中提到的 API 链接来交叉检查这些值。

结论

到此,我们就结束了这个话题。如果你遇到任何问题,请随时在下面评论。

更多与 Python 相关的帖子,敬请关注,在此之前,祝你学习愉快!!🙂