【问题标题】:How to access specific element of API Get with Python's Request Package?如何使用 Python 的请求包访问 API Get 的特定元素?
【发布时间】:2019-08-08 11:15:36
【问题描述】:

您好,我目前正在使用 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}

我希望能够从响应中访问公司名称,然后将其添加到列表中。所以我可以遍历一堆名称/司法管辖区,并在最后有一个可以导出到 csv(或其他)的列表。

我认为使用 to.json 或 json.dump 或类似的东西可能会起作用,但我不确定该怎么做?如果需要,我愿意导入更多包,如 pandas 等。

【问题讨论】:

  • 是的,您应该使用r.json()json.loads(r.text) 将响应转换为Python 的dict,然后迭代列表并得到您想要的。
  • 您好,我确实尝试过,它确实给了我一个字典,但结果如下:{'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': 160.53979500000003} 所以结果键的第一个值是一个包含字典的列表?没有更好的方法吗?

标签: python json python-3.x response


【解决方案1】:

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

import json

data = json.loads(r.text)

#initialize your list 
namesList = []

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

【讨论】:

    【解决方案2】:

    你可以试试这个。

    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'])
    

    【讨论】:

      猜你喜欢
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多