如何使用 Python 的请求包访问 API Get 的特定元素?

How to access specific element of API Get with Python's Request Package?

您好,我目前正在使用 Python 3.X 到 运行 以下代码:

import requests

jurisdiction = 'us'

name = 'netflix'

limit = 1


r = requests.get('https://opencorporates.com/reconcile?query={%22query%22:%22' + name + '%22,%20%22limit%22:' + str(limit) + ',%20%22jurisdiction_code%22:%22' + jurisdiction + '%22}')

print(type(r))
print(r.text)

这个的输出是

<class 'requests.models.Response'>

{"result":[{"id":"/companies/gb/12022722","name":"AMAZON-UK LIMITED","type":[{"id":"/organization/organization","name":"Organization"}],"score":69.0,"match":false,"uri":"https://opencorporates.com/companies/gb/12022722"}],"duration":157.957621}

我希望能够从响应中访问公司名称,然后将其添加到列表中。所以我可以迭代一堆 names/jurisdictions 并在末尾有一个列表,我可以导出到 csv(或其他)。

我认为使用 to.json 或 json.dump 或类似的东西可能有效,但我不确定具体如何操作?如果需要,我愿意导入更多包,如 pandas 等。

导入json,你可以这样读公司名称:-

import json

data = json.loads(r.text)

#initialize your list 
namesList = []

for s in data['result']:
    name = s['name']
    namesList.append(name)

你可以试试这个。

data = {"result":[{"id":"/companies/gb/12022722","name":"AMAZON-UK LIMITED","type":[{"id":"/organization/organization","name":"Organization"}],"score":69.0,"match":False,"uri":"https://opencorporates.com/companies/gb/12022722"}],"duration":157.957621}


for i in data['result']:
    print(i['name'])