如何使用Node.js从Binance Market获取当前加密货币价格
使用Node.js获取Binance加密货币实时价格
Binance提供了公开的REST API接口,无需API密钥即可获取实时行情数据,比直接爬取网页更稳定可靠。下面介绍两种常用实现方式:
方法一:使用Node.js原生http模块
无需额外安装依赖,直接用内置模块发送请求:
const http = require('http'); // 要查询的交易对,比如BTC/USDT写成BTCUSDT const symbol = 'BTCUSDT'; const options = { hostname: 'api.binance.com', path: `/api/v3/ticker/price?symbol=${symbol}`, method: 'GET' }; const req = http.request(options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { try { const priceData = JSON.parse(data); console.log(`${symbol} 当前价格: ${priceData.price} USDT`); } catch (err) { console.error('解析响应失败:', err); } }); }); req.on('error', (error) => { console.error('请求失败:', error); }); req.end();
运行代码后,即可输出指定加密货币的实时USDT价格。
方法二:使用axios库(代码更简洁)
如果偏好Promise风格的HTTP客户端,可以用axios简化代码:
- 先安装依赖:
npm install axios
- 编写查询代码:
const axios = require('axios'); async function getCryptoPrice(symbol) { try { const response = await axios.get(`https://api.binance.com/api/v3/ticker/price?symbol=${symbol}`); console.log(`${symbol} 当前价格: ${response.data.price} USDT`); } catch (error) { console.error('获取价格失败:', error.response?.data || error.message); } } // 调用函数查询目标交易对价格 getCryptoPrice('BTCUSDT');
扩展说明
- 更换交易对:只需修改
symbol参数,比如ETHUSDT(ETH/USDT)、BNBUSDT(BNB/USDT)等,Binance支持的所有交易对都可通过此接口查询。 - 批量获取价格:若需同时查询多个交易对,可调用不带
symbol参数的/api/v3/ticker/price接口,或用/api/v3/ticker/24hr获取包含涨跌幅、成交量的完整行情数据。 - 实时更新:如果需要持续获取价格,可通过
setInterval定时调用查询函数,注意控制请求频率,避免触发Binance的API限流规则。
内容的提问来源于stack exchange,提问作者Sovann Sun
相关产品推荐
相关产品推荐

