📜  使用 R 和 Binance API 获取实时加密货币价格

📅  最后修改于: 2022-05-13 01:56:15.415000             🧑  作者: Mango

使用 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"