import requests
import json
headers = {'API-OPR':'openpagerank API key'}
domain = 'https://www.hootsuite.com'
url = 'https://openpagerank.com/api/v1.0/getPageRank?domains%5B0%5D=' + domain
request = requests.get(url, headers=headers)
result = request.json()
print(result)
输出JSON:
output: {'status_code': 200, 'response': [{'status_code': 200, 'error': '', 'page_rank_integer': 7, 'page_rank_decimal': 7.2, 'rank': '451', 'domain': 'hootsuite.com'}], 'last_updated': '18th Oct 2020'}
我想打印page_rank_decimal
,因为我使用了
print(result["response"]["page_rank_decimal"])
然后它将给出
TypeError: list indices must be integers or slices, not list
如何解决
您需要访问字典中列表中的字典值
正如您所做的那样,打印
result
将为您提供一本词典如果您尝试
result["response"]
,那么您将得到一个包含1个元素[{'status_code': 200, 'error': '', 'page_rank_integer': 7, 'page_rank_decimal': 7.2, 'rank': '451', 'domain': 'hootsuite.com'}]
的列表。(列表中的元素是字典。)要访问“response”第一个元素,请使用
result["response"][0]
。它将输出{'status_code': 200, 'error': '', 'page_rank_integer': 7, 'page_rank_decimal': 7.2, 'rank': '451', 'domain': 'hootsuite.com'}
要访问字典中
"page_rank_decimal"
的值,请使用result["response"][0]["page_rank_decimal"]
,它将给出您的答案响应的结构是一个数组
[
。您必须指定一个索引。在这种情况下,可以使用print(result["response"][0]["page_rank_decimal"])
,因为响应中只有一行相关问题 更多 >
编程相关推荐