使用 R 和 Binance API 获取实时加密货币价格
在本文中,我们将了解如何使用 R 编程语言中的 Binance API 获取加密货币的实时价格。
币安API
Binance API 是一种允许您使用多种编程语言连接到 Binance 服务器的方法。有了它,您可以自动进行交易并发出 HTTP 请求来发送和接收数据。
在这里,我们使用带有 httr 包的 R 访问 Binance API。我们将向 Binance API 发送请求,并以 JSON 格式提取所需加密货币的实时价格。我们将使用 jsonlite 包将提取的原始数据转换为 JSON 格式。
使用 R 和 Binance API 获取加密价格
我们将使用httr GET()发出 URL 请求并将数据存储在变量中。现在我们需要 JSON 数据,所以我们必须将数据转换为 char 格式,因为GET()返回原始数据,所以我们需要使用rawToChar()并将 char 数据转换为 JSON 格式,我们将使用 jsonlite 内置的fromJSON ()包裹。
注意:如果您已经安装了软件包,则无需在脚本中包含 install.package()。
例子:
R
# installing required packages
install.packages("httr")
install.packages("jsonlite")
# importing packages/libraries
library(httr)
library(jsonlite)
# requesting raw data from URL using GET()
# and string in r variable.
r < - GET("https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT")
# converting raw data to char format.
response = rawToChar(r$content)
# converting char data to json format.
data = fromJSON(response)
# storing keys and values of json
# data in separate variables
pair < - data$symbol
value < - data$price
# printing output
print(paste(pair, "price is", value))
R
# installing packages
install.packages("httr")
install.packages("jsonlite")
# importing packages/libraries
library(httr)
library(jsonlite)
# declaring all pairs of currency pairs we need
pairs < - c("DOGEUSDT", "BTCUSDT", "ETHUSDT")
# running loop
for (i in 1: 3){
p < - pairs[i] # storing pair in p variable by it's index value
# completing url and storing it in url variable
url = paste0("https://api.binance.com/api/v3/ticker/price?symbol=", p)
r < - GET(url) # requesting url data
res = rawToChar(r$content) # converting raw content to char format
data = fromJSON(res) # converting char to json format
# storing keys and values of json data in separate variables
pair < - data$symbol
value < - data$price
# printing output
print(paste(pair, "price is", value))
}
输出:
[1] "BTCUSDT price is 38517.24000000"
获取多个实时加密价格
要获得多个价格,我们只需要运行 n 次循环并在 URL 末尾传递不同的货币对。
例子:
R
# installing packages
install.packages("httr")
install.packages("jsonlite")
# importing packages/libraries
library(httr)
library(jsonlite)
# declaring all pairs of currency pairs we need
pairs < - c("DOGEUSDT", "BTCUSDT", "ETHUSDT")
# running loop
for (i in 1: 3){
p < - pairs[i] # storing pair in p variable by it's index value
# completing url and storing it in url variable
url = paste0("https://api.binance.com/api/v3/ticker/price?symbol=", p)
r < - GET(url) # requesting url data
res = rawToChar(r$content) # converting raw content to char format
data = fromJSON(res) # converting char to json format
# storing keys and values of json data in separate variables
pair < - data$symbol
value < - data$price
# printing output
print(paste(pair, "price is", value))
}
输出:
[1] "DOGEUSDT price is 0.13180000"
[1] "BTCUSDT price is 38408.24000000"
[1] "ETHUSDT price is 2685.00000000"