在数字货币快速发展的今天,实时掌握比特币等加密资产的价格波动已成为许多投资者、开发者和爱好者的需求,Python凭借其简洁的语法和强大的第三方库生态,成为实现价格实时监控的理想工具,本文将详细介绍如何使用Python编写代码,实时获取比特币价格,并附上完整代码示例和实用解析。

准备工作:选择合适的数据源

要获取比特币实时价格,首先需要依赖可靠的数据源,常见的选择包括:

  1. 加密货币交易所API:如Binance(币安)、Coinbase、Kraken等,提供官方API接口,数据准确且实时性强。
  2. 第三方金融数据平台:如CoinGecko、CoinMarketCap,提供免费或付费的API服务,无需注册交易所账户。
  3. WebSocket实时数据流:部分交易所支持WebSocket协议,可实现毫秒级实时数据推送,适合高频监控场景。

本文以CoinGecko免费API为例,无需注册即可使用,适合开发者快速上手,若需更高频率数据,可进一步学习交易所的WebSocket接口。

核心代码实现:使用requests库获取实时价格

requests是Python中用于发送HTTP请求的常用库,通过调用CoinGecko的API接口,可轻松获取比特币的当前价格,以下是完整代码示例:

安装依赖库

首先确保已安装requests库,若未安装可通过以下命令安装:

pip install requests

完整代码示例

import requests
import time
def get_bitcoin_price():
    """
    通过CoinGecko API获取比特币实时价格(USD)
    返回:当前价格(字符串格式)
    """
    url = "https://api.coingecko.com/api/v3/simple/price"
    params = {
        "ids": "bitcoin",  # 指定比特币
        "vs_currencies": "usd",  # 对标美元
        "include_market_cap": "false",  # 是否包含市值
        "include_24hr_vol": "false",   # 是否包含24小时交易量
        "include_24hr_change": "false", # 是否包含24小时涨跌幅
        "precision": 2  # 价格精度(小数点后2位)
    }
    try:
        response = requests.get(url, params=params)
        response.raise_for_status()  # 检查请求是否成功
        data = response.json()
        price = data["bitcoin"]["usd"]
        return price
    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
        return None
def monitor_bitcoin_price(interval=5):
    """
    实时监控比特币价格,每interval秒刷新一次
    :param interval: 刷新间隔(秒)
    """
    print("开始监控比特币价格(按Ctrl+C退出)...")
    while True:
        price = get_bitcoin_price()
        if price:
            print(f"当前比特币价格: ${price}")
        time.sleep(interval)
if __name__ == "__main__":
    # 示例:获取单次价格
    current_price = get_bitcoin_price()
    if current_price:
        print(f"比特币当前价格: ${current_price}")
    # 示例:实时监控(每5秒刷新一次)
    # monitor_bitcoin_price(interval=5)

代码解析

  • API接口:CoinGecko的/simple/price接口支持通过参数指定加密货币(ids)、对标货币(vs_currencies)等,本文仅获取比特币对美元的价格。
  • 随机配图