Python 从API获取数据并进行解析

Python 从API获取数据并进行解析,python,api,Python,Api,就上下文而言,我对web开发还很陌生 有没有比从.read()获取的字符串中删除非数字字符(例如,然后将两个数字分隔开来)更好的获取数据的方法 如果python脚本正在调用API并获取数据,您将如何自动执行该过程以在一段时间内(例如每分钟)刷新数据?此数据为JSON格式,您可以使用库将其作为python dict检索: 如果你想定期运行它,有几个不同的选择;您可以使用cron(或windows上的taskscheduler),也可以使用带有时间的循环。sleep(60)Python能够将json

就上下文而言,我对web开发还很陌生

有没有比从.read()获取的字符串中删除非数字字符(例如,然后将两个数字分隔开来)更好的获取数据的方法


如果python脚本正在调用API并获取数据,您将如何自动执行该过程以在一段时间内(例如每分钟)刷新数据?

此数据为JSON格式,您可以使用库将其作为python dict检索:


如果你想定期运行它,有几个不同的选择;您可以使用cron(或windows上的taskscheduler),也可以使用带有
时间的循环。sleep(60)

Python能够将json响应从api解析为字典结果
提供了一个关于使用json的好教程。要使每分钟都自动运行,请查看。我希望这会有所帮助,因为数据是JSON格式的,这大致相当于Python中的字典。我不是Python方面的专家,但我相信您需要导入
json
模块,并使用
.loads()
解析数据,然后您可以作为字典的属性访问这些值

例如,您的数据如下所示:

{"BTC":0.1434,"USD":387.92,"EUR":343.51}
在脚本中,您将导入
json
,将数据放入变量,并将其解析为字典:

import json

json_string = '{"BTC":0.1434,"USD":387.92,"EUR":343.51}'
parsed_json = json.loads(json_string)
现在,如果您引用
parsed_json
,您可以访问以下值:

print parsed_json['BTC'] 
# 0.1434

print parsed_json['EUR']
# 343.51
等等

编辑 在重读你的问题之后,我觉得你的目标是将公认的答案和我的答案结合起来。以下是我认为您正在寻找的(借用公认的答案):

requests.get()
返回的数据已经被解析,因此无需使用
json.loads()
再次解析它。要访问字典属性的值,请键入字典的名称,然后键入括号中的属性

print parsed_json['BTC'] 
# 0.1434

print parsed_json['EUR']
# 343.51
>>> import requests

>>> data = requests.get("https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=BTC,USD,EUR"
              ).json()
>>> data['USD']
387.92
>>> data['BTC']
0.1434