Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Financial Modeling Prep(Python)以指定的时间间隔访问所有历史加密数据_Python_Url_Finance - Fatal编程技术网

使用Financial Modeling Prep(Python)以指定的时间间隔访问所有历史加密数据

使用Financial Modeling Prep(Python)以指定的时间间隔访问所有历史加密数据,python,url,finance,Python,Url,Finance,Financial Modeling Prep是一个免费API,可用于访问各种财务指标,如股票价格和加密货币数据。API文档概述了如何通过Python等编程语言访问数据。特别是对于加密货币数据: 只需生成一个唯一的API密钥,就可以通过调用URL访问数据。URL的内容作为JSON接收和解析,并在Python中作为对象返回。例如,我可以访问比特币的所有历史数据(价格、数量、低、高等): 默认情况下,通过此URL调用,对象包含所有BTC数据(1828天,截至1/18/21),时间间隔为1天。例如,

Financial Modeling Prep是一个免费API,可用于访问各种财务指标,如股票价格和加密货币数据。API文档概述了如何通过Python等编程语言访问数据。特别是对于加密货币数据:

只需生成一个唯一的API密钥,就可以通过调用URL访问数据。URL的内容作为JSON接收和解析,并在Python中作为对象返回。例如,我可以访问比特币的所有历史数据(价格、数量、低、高等):

默认情况下,通过此URL调用,对象包含所有BTC数据(1828天,截至1/18/21),时间间隔为1天。例如,使用Spyder变量资源管理器:

但是,我想将我的时间分辨率提高到4小时。API文档提供了一些关于如何执行此操作的见解-只需将url更改为以下内容:

url = ("https://financialmodelingprep.com/api/v3/historical-chart/4hour/BTCUSD?apikey=myKey")
结果是每4小时采集一次BTC数据。但是,只有200个数据点,限制了历史数据的范围:


查看文档后,不清楚如何指定4小时间隔以及所有历史数据(因此我得到6*1828=10968个数据点)。如何获取感兴趣的时间间隔内的所有数据?

我知道这不是您想要的确切解决方案,但这里有另一种方法,您可以不使用API从中获取历史加密价格:

#使用urllib获取HTML数据
url=”https://coinmarketcap.com/historical/20201206/"
contents=urllib.request.urlopen(url)
字节\u str=contents.read()
#解码字节字符串
数据长度=字节长度解码(“utf-8”)
#从网站HTML中裁剪出原始JSON字符串
start_str=''listingHistorical:{“data”:'
开始=数据\u str.find(开始\u str)+len(开始\u str)
end=data_str.find(',“page”:1,“sort”:“”)
裁剪的长度=数据长度[开始:结束]
#从JSON字符串创建Python列表
data\u list=json.loads(裁剪的\u str)
打印(“总密码:”,len(数据列表))
#迭代加密命令列表
对于i,枚举中的项(数据列表):
#漂亮的打印所有高等级的密码
如果项目[“cmc_等级”]<30:
打印(json.dumps(项目,缩进=4))
要从另一个日期获取不同的数据,只需将URL中的
20201206
部分替换为首选日期(例如,使用
20210110
代替2021年1月10日)

url = ("https://financialmodelingprep.com/api/v3/historical-chart/4hour/BTCUSD?apikey=myKey")