从 Binance.US 抓取数据时出错

时间:2021-05-05 16:39:25

标签: python web-scraping data-science linear-regression cryptocurrency

我是数据科学菜鸟。我正在尝试从 Binance API 中抓取一些数据,以便我可以使用多元线性回归。但是,我在从 Binance 提取数据时遇到了问题。这是我的代码:

def get_binance_bars(symbol, interval, startTime, endTime):
 

    url = "https://api.binance.com/api/v3/klines"
 
    startTime = str(int(startTime.timestamp() * 1000))
    endTime = str(int(endTime.timestamp() * 1000))
    limit = '1000'
 
    req_params = {"symbol" : symbol, 'interval' : interval, 'startTime' : startTime, 'endTime' : endTime, 'limit' : limit}
 
    df = pd.DataFrame(json.loads(requests.get(url, params = req_params).text))
 
    if (len(df.index) == 0):
        return None
  
    df = df.iloc[:, 0:6]
    df.columns = ['datetime', 'open', 'high', 'low', 'close', 'volume']
 
    df.open      = df.open.astype("float")
    df.high      = df.high.astype("float")
    df.low       = df.low.astype("float")
    df.close     = df.close.astype("float")
    df.volume    = df.volume.astype("float")

    df['adj_close'] = df['close']
 
    df.index = [dt.datetime.fromtimestamp(x / 1000.0) for x in df.datetime]
 
    return df

这一切都非常有效。然后,我尝试使用它从特定时间范围内提取数据。

months = [dt.datetime(2021, i, 1) for i in range(1, 13)]
df_list = [get_binance_bars('MATIC-USD', '1h', months[i], months[i+1] - dt.timedelta(0, 1)) for i in range(0, len(months) - 1)]
df = pd.concat(df_list)

我收到的错误消息是“ValueError:如果使用所有标量值,则必须传递索引”

我以为我正在通过索引?请记住,我仍在努力解决这个问题。我确定这很简单。任何帮助将不胜感激。

0 个答案:

没有答案