CoinMarketCap API简明教程
本文将详细介绍利用 CoinMarketCap API 将实时加密货币数据无缝集成到你的应用程序或项目中的过程。
一键发币: SOL | BNB | ETH | BASE | Blast | ARB | OP | POLYGON | AVAX | FTM | OK
CoinMarketCap 是快速增长的加密货币领域中全球引用次数最多的加密资产价格跟踪网站。 其使命是通过为零售用户提供公正、高质量和准确的信息,使加密货币在全球范围内变得可发现且高效。
在本指南中,我们将详细介绍利用 CoinMarketCap API 将实时加密货币数据无缝集成到你的应用程序或项目中的过程。
虽然本博客中的示例主要使用 Python 代码,但值得注意的是,该 API 可以与各种编程语言一起使用。 要进一步探索,请单击此处 查看github仓库。
1、CoinMarketCap API 快速入门
本节介绍使用 CoinMarketCap API 检索加密货币数据的基础知识。
- 注册 CoinMarketCap
我们的第一步是在 CoinMarketCap 上注册一个帐户。
- 获取你的API密钥
创建帐户后,你将被重定向到仪表板。 如果没有发生这种情况,请点击此链接。 从仪表板中,复制 API 密钥并将其粘贴到本地 .txt 文件中。
- 检索加密数据
让我们编写以 JSON 格式检索加密货币数据的代码。 只需将以下代码复制并粘贴到您首选的开发环境中即可。
注意:将 YOUR_API_KEY
替换为你粘贴到 .txt 文件中的 API 密钥。
from requests import Session
import json
import pprint
def getInfo (): # Function to get the info
url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest' # Coinmarketcap API url
api = 'YOUR_API_KEY' # Replace this with your API key
parameters = { 'slug': 'bitcoin', 'convert': 'USD' } # API parameters to pass in for retrieving specific cryptocurrency data
headers = {
'Accepts': 'application/json',
'X-CMC_PRO_API_KEY': api
} # Headers for the API request
session = Session() # Create new session object to manage API requests
session.headers.update(headers) #Update the session headers with the specified headers
response = session.get(url, params=parameters) # Receiving the response from the API
info = json.loads(response.text)
pprint.pprint(info) # Displaying JSON data in a visually pleasing format on the terminal for improved readability
getInfo() # Calling the function to get the data
- 运行代码
运行此代码将产生如下结果:
{'data': {'1': {'circulating_supply': 19405368,
'cmc_rank': 1,
'date_added': '2010-07-13T00:00:00.000Z',
'id': 1,
'infinite_supply': False,
'is_active': 1,
'is_fiat': 0,
'last_updated': '2023-06-18T09:00:00.000Z',
'max_supply': 21000000,
'name': 'Bitcoin',
'num_market_pairs': 10247,
'platform': None,
'quote': {'USD': {'fully_diluted_market_cap': 556544808013.3,
'last_updated': '2023-06-18T09:00:00.000Z',
'market_cap': 514283657523.2155,
'market_cap_dominance': 48.0966,
'percent_change_1h': -0.29553396,
'percent_change_24h': -0.30944941,
'percent_change_30d': -1.46162201,
'percent_change_60d': -9.16801758,
'percent_change_7d': 2.92720074,
'percent_change_90d': -6.68909286,
'price': 26502.13371491927,
'tvl': None,
'volume_24h': 9276792871.439861,
'volume_change_24h': -47.1715}},
'self_reported_circulating_supply': None,
'self_reported_market_cap': None,
'slug': 'bitcoin',
'symbol': 'BTC',
'tags': ['mineable',
'pow',
'sha-256',
'store-of-value',
'state-channel',
'coinbase-ventures-portfolio',
'three-arrows-capital-portfolio',
'polychain-capital-portfolio',
'binance-labs-portfolio',
'blockchain-capital-portfolio',
'boostvc-portfolio',
'cms-holdings-portfolio',
'dcg-portfolio',
'dragonfly-capital-portfolio',
'electric-capital-portfolio',
'fabric-ventures-portfolio',
'framework-ventures-portfolio',
'galaxy-digital-portfolio',
'huobi-capital-portfolio',
'alameda-research-portfolio',
'a16z-portfolio',
'1confirmation-portfolio',
'winklevoss-capital-portfolio',
'usv-portfolio',
'placeholder-ventures-portfolio',
'pantera-capital-portfolio',
'multicoin-capital-portfolio',
'paradigm-portfolio',
'bitcoin-ecosystem'],
'total_supply': 19405368,
'tvl_ratio': None}},
'status': {'credit_count': 1,
'elapsed': 35,
'error_code': 0,
'error_message': None,
'notice': None,
'timestamp': '2023-06-18T09:02:13.424Z'}}
恭喜! 如果你已找到有关使用 CoinMarketCap API 获取加密货币数据所需的信息,可以到此为止。 但如果你想改进代码以获得更具体的结果,请继续阅读。
2、处理数据
你可以灵活地缩小收到的数据范围并获取更具体的信息,例如价格、市值等。
为了缩小数据范围,在每个所需的数据类型之前添加相应的父元素是一个简单的过程。 例如,如果你想检索比特币的价格,可以通过修改以下代码行来实现。
# info = json.loads(response.text)
info = json.loads(response.text)['data']['1']['quote']['USD']['price'] # Get only the price of BTC
# OUTPUT : 26510.569334993506
同样,如果只检索比特币符号,则代码行将修改如下:
# info = json.loads(response.text)
# info = json.loads(response.text)['data']['1']['quote']['USD']['price']
info = json.loads(response.text)['data']['1']['symbol']
# OUTPUT : 'BTC'
假设我们有兴趣获取以太坊的价格,可以通过调整代码中的参数来实现。
# info = json.loads(response.text)
# info = json.loads(response.text)['data']['1']['quote']['USD']['price']
info = json.loads(response.text)['data']['1']['symbol']
# OUTPUT : 'BTC'
注意:在检索不同加密货币的数据时,请确保更新相关信息,例如 info 变量中的 ID。 要查找特定加密货币的 ID,请打印其原始数据并在 JSON 结构中找到相应的 ID。
3、结束语
恭喜! 你已完成本关于使用 CoinMarketCap API 检索加密货币数据的初学者指南的结尾。 我们介绍了利用 API 的基础知识,从注册到获取 API 密钥以及检索 JSON 格式的加密数据。 如果想进一步研究 API,请务必阅读 CoinMarketCap 文档。 通过遵循提供的示例和代码片段,你可以轻松地将实时加密货币数据合并到您的应用程序或项目中。
原文链接:Using the CoinMarketCap API: A Beginner’s Guide
DefiPlot翻译整理,转载请标明出处