CoinMarketCap API简明教程

本文将详细介绍利用 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翻译整理,转载请标明出处

通过 NowPayments 打赏