网易首页 > 网易号 > 正文 申请入驻

手把手教你调用5个公共API获取数字货币市场数据(内附详细源码)

0
分享至

获取数字货币的历史行情数据可以通过一些专门的数字货币数据API或者第三方数据服务来实现。以下是一些获取数字货币历史行情数据的方法:

1 CoinGecko API

CoinGecko是一个数字货币市场数据服务提供商,提供历史和实时的数字货币数据。它的API可以通过HTTP请求方式获取数字货币的历史行情数据。例如,以下代码可以获取比特币在2022年1月的价格数据:


import requests
url = 'https://api.coingecko.com/api/v3/coins/bitcoin/history'params = {'date': '01-01-2022', 'localization': 'false'}response = requests.get(url, params=params)
data = response.json()print(data)

在这个示例中,我们使用requests库发送HTTP请求并获取CoinGecko API的响应。我们在API请求URL中设置了正确的参数,即货币对和时间间隔。我们使用params参数将API请求URL和参数传递给get()方法,并使用response.json()将响应转换为Python对象。我们使用Python中的for循环遍历数据,并使用列表索引访问价格数据和时间戳。然后,我们将时间戳转换为datetime对象,并打印时间戳和价格数据。


import requestsimport datetime
url = "https://api.coingecko.com/api/v3/coins/bitcoin/market_chart/range"params = {"vs_currency": "usd","from": "1392577232","to": "1617288232"
response = requests.get(url, params=params)data = response.json()
prices = data["prices"]for price in prices:timestamp = datetime.datetime.fromtimestamp(price[0]/1000.0)price = price[1]print(timestamp, price)

2 CryptoCompare API

CryptoCompare是另一个数字货币市场数据服务提供商,也提供历史和实时的数字货币数据。它的API可以通过HTTP请求方式获取数字货币的历史行情数据。例如,以下代码可以获取比特币在2022年1月的价格数据:‍


import requests
url = 'https://min-api.cryptocompare.com/data/v2/histoday'params = {'fsym': 'BTC', 'tsym': 'USD', 'limit': '31', 'toTs': '1641024000'}response = requests.get(url, params=params)
data = response.json()print(data)

3 Alpha Vantage

除了API外,还可以通过一些第三方数据服务提供商来获取数字货币的历史行情数据。例如,Alpha Vantage提供了一些免费的数字货币历史行情数据,可以通过HTTP请求方式获取。以下代码可以获取比特币在2022年1月的价格数据:‍


import requests
url = 'https://www.alphavantage.co/query'params = {'function': 'DIGITAL_CURRENCY_DAILY', 'symbol': 'BTC', 'market': 'USD', 'apikey': 'your_api_key'}response = requests.get(url, params=params)
data = response.json()print(data)

请注意:以上示例中的API和服务可能需要注册并获取API Key或者令牌,具体使用方式需要查看对应的API文档。此外,获取历史行情数据的请求需要提供对应的数字货币代码、市场类型、日期范围等参数,具体参数需要根据API文档来设置。

4 CoinCap API

CoinCap API是一个提供加密货币市场数据的API,可以获取多个加密货币的历史价格、实时价格、市值、交易量等信息。CoinCap API提供了RESTful API和WebSocket API两种访问方式。

CoinCap API提供了免费和付费两种访问方式。免费访问方式有一些限制,例如每分钟最多只能发出10个请求,每个请求最多返回2000个数据点等。如果需要更多数据和更高的访问速度,可以考虑使用付费访问方式。

  1. 导入必要的库和模块。

  2. 设置API请求参数,包括URL和请求参数。API的文档应该包含有关可用参数和其值的信息。在这个例子中,我们使用CoinCap API和CoinGecko API来获取比特币历史价格数据。我们在API请求URL中设置了正确的参数,即时间间隔、开始时间和结束时间。

  3. 发送API请求。使用Python中的requests库可以轻松发送HTTP请求并获取响应。发送请求的方式通常是调用requests库中的get()方法并将API请求URL和参数作为参数传递。对于一些需要认证的API,还需要将API密钥作为参数传递。

  4. 解析JSON响应。API响应通常以JSON格式返回,因此需要使用json模块将响应转换为Python对象。使用Python中的json.loads()函数可以将JSON字符串转换为Python字典。

  5. 提取所需的数据。解析JSON响应后,我们可以从Python字典中提取所需的数据。提取数据的方法因API而异,通常需要检查API文档以查看可用的数据字段和其格式。

  6. 处理和可视化数据。一旦提取了所需的数据,我们可以使用Python中的其他库和模块进行进一步处理和可视化,例如使用Matplotlib库绘制图表或使用Pandas库进行数据分析。

在这个示例中,我们使用requests库发送HTTP请求并获取CoinCap API的响应。我们使用params参数将API请求URL和参数传递给get()方法,并使用response.json()将响应转换为Python对象。我们使用Python中的for循环遍历数据,并使用字典键访问价格数据和时间戳。然后,我们将时间戳转换为datetime对象,并打印时间戳和价格数据。


import requests
# 设置API请求参数url = "https://api.coincap.io/v2/assets/bitcoin/history"params = {"interval": "d1","start": "1483228800000", # 2017-01-01 的时间戳"end": "1649193600000" # 2022-04-05 的时间戳
# 发送API请求response = requests.get(url, params=params)
# 解析JSON响应data = response.json()
# 提取价格数据prices = data["data"]for price in prices:time = price["time"] # 时间戳price_usd = price["priceUsd"] # 价格(美元)print(f"{time}: {price_usd}")

5 直接调用交易所API

此处我们调用的是某安的rest API,获取btc的K线数据,并对数据框做一些基本处理后,用K线图形的形式将其可视化出来。


import requestsimport pandas as pdimport mplfinance as mpf
# 获取比特币K线数据url = 'https://api.binance.com/api/v3/klines'params = {'symbol': 'BTCUSDT','interval': '1d','limit': 1000res = requests.get(url, params=params)data = res.json()df = pd.DataFrame(data, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume', 'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume', 'ignore'])df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')df.set_index('timestamp', inplace=True)
df = df.apply(pd.to_numeric, errors='ignore')
# 画K线图mpf.plot(df, type='candle', volume=True,

程序运行后的K线图可视化结果:

以上是用5种不同方式调用API获取数字货币公开数据的方法及详细源码,你Get到了吗?

更多策略干货,欢迎加入数量技术宅的知识星球,每周一期超实用干货策略,欢迎添加技术宅的个人微信sljsz01、sljsz05获取星球优惠名额。

限时优惠特价

优惠请扫描上方二维码

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
郑钦文美网逆转,1亿代言费保住了!

郑钦文美网逆转,1亿代言费保住了!

乡野小珥
2026-09-06 07:12:19
捡漏天花板!跳蚤市场1英镑淘到小石狗,居然是600年前明初玉兽,最高估价1万镑!

捡漏天花板!跳蚤市场1英镑淘到小石狗,居然是600年前明初玉兽,最高估价1万镑!

意大利华人网0039
2026-09-05 15:51:59
女篮逆转捷克各界说啥?苏群赞2功臣,张子宇+宫鲁鸣被批!

女篮逆转捷克各界说啥?苏群赞2功臣,张子宇+宫鲁鸣被批!

篮球资讯达人
2026-09-06 23:04:36
欧拉弄发布34岁生日预热海报,海报暗藏心机,给泰王下最后通牒?

欧拉弄发布34岁生日预热海报,海报暗藏心机,给泰王下最后通牒?

阿废冷眼观察所
2026-09-07 00:28:18
iPhone 18 Pro 全系售价曝光,这价格劝退我了

iPhone 18 Pro 全系售价曝光,这价格劝退我了

全是技能
2026-09-06 15:41:25
25次失误也能赢球,中国女篮加时险胜捷克,宫鲁鸣要感谢两人

25次失误也能赢球,中国女篮加时险胜捷克,宫鲁鸣要感谢两人

姜大叔侃球
2026-09-06 22:36:27
59岁江珊现状:满头白发步履蹒跚,胖到160斤,无单位也无退休金

59岁江珊现状:满头白发步履蹒跚,胖到160斤,无单位也无退休金

观星赏月
2026-09-06 05:31:21
两个女孩的材料从何而来?另外一个关键人物露面

两个女孩的材料从何而来?另外一个关键人物露面

平老师666
2026-09-07 00:00:12
4场分差不变,勇士与费城周日定胜负

4场分差不变,勇士与费城周日定胜负

林间小温柔
2026-09-07 00:55:52
重大利好?8家中央金融企业将补充资本,利好什么?历史行情复盘来了

重大利好?8家中央金融企业将补充资本,利好什么?历史行情复盘来了

看财经show
2026-09-06 21:53:01
6-3,6-2,郑钦文横扫昔日克星,终结三连败+复仇8年之耻,下轮对手更强

6-3,6-2,郑钦文横扫昔日克星,终结三连败+复仇8年之耻,下轮对手更强

主宰稳场
2026-08-25 09:21:40
出轨女子第二波聊天记录曝光,虎狼之词惊呆吃瓜网友,她嫌丢人开始批量投诉了

出轨女子第二波聊天记录曝光,虎狼之词惊呆吃瓜网友,她嫌丢人开始批量投诉了

汉史趣闻
2026-09-01 17:55:01
遭郑钦文大逆转!31岁澳网冠军带着哭腔受访:煎熬,感觉已不会打球

遭郑钦文大逆转!31岁澳网冠军带着哭腔受访:煎熬,感觉已不会打球

我爱英超
2026-09-06 04:34:44
片方选择放弃,沈腾《欢迎来龙餐馆》输了

片方选择放弃,沈腾《欢迎来龙餐馆》输了

小椰的奶奶
2026-09-07 00:27:48
多少豪门都没做到!卡里乌斯5扑救主,拜仁连续58场进球终结

多少豪门都没做到!卡里乌斯5扑救主,拜仁连续58场进球终结

懂球帝
2026-09-06 10:53:04
19岁天才双响!12.6亿卫冕冠军5-0砍瓜切菜 开局4连胜狂轰17球

19岁天才双响!12.6亿卫冕冠军5-0砍瓜切菜 开局4连胜狂轰17球

狍子歪解体坛
2026-09-07 00:18:16
“好像被割一样痛”!母子俩草地休憩后,全身莫名刺痛,医生从皮肤里挑出近30处“细针”

“好像被割一样痛”!母子俩草地休憩后,全身莫名刺痛,医生从皮肤里挑出近30处“细针”

环球网资讯
2026-09-04 19:23:18
今天才知道:家里“这6样”都含有玻璃纤维,危害很大,别再用了

今天才知道:家里“这6样”都含有玻璃纤维,危害很大,别再用了

Home范
2026-08-26 12:16:19
丑爆了像男人!《漫威金刚狼》魔形女被爆改巨乳身材

丑爆了像男人!《漫威金刚狼》魔形女被爆改巨乳身材

游民星空
2026-09-04 21:22:14
运营商曝光iPhone 18系列售价,苹果折叠屏售价1.5万元起

运营商曝光iPhone 18系列售价,苹果折叠屏售价1.5万元起

PChome电脑之家
2026-09-06 16:40:57
2026-09-07 01:07:00
数量技术宅 incentive-icons
数量技术宅
爱好数据分析量化投资的技术宅
281文章数 212关注度
往期回顾 全部

科技要闻

DeepSeek被曝将采购16万颗华为昇腾950DT

头条要闻

中尼两国遇难失联人数为何相差如此大 专家解读

头条要闻

中尼两国遇难失联人数为何相差如此大 专家解读

体育要闻

3.9秒绝平!杨舒予18+5成女篮救世主

娱乐要闻

杨紫获白玉兰影后!爸爸:累了就回家

财经要闻

亏损高达200亿,昔日彩电霸主走下巅峰!

汽车要闻

带升降立标MPV 岚图梦想家9预售价42.99万起

态度原创

本地
手机
亲子
公开课
军事航空

本地新闻

扒完小作文,富豪们私藏的度假胜地有多绝

手机要闻

华为最贵手机发布前瞻:三折叠防窥屏+阔屏游戏神器,钱包又要扛不住了

亲子要闻

刚出生的宝宝有多小,网友:一个比一个可爱,太悦目了

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美伊互袭油轮 伊朗军方称或对美进行更大规模打击

无障碍浏览 进入关怀版