如何继续从binance这样的服务器中提取数据?

2024-05-16 21:04:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用binance进行交易,我有一个代码,可以拉取数据5分钟烛光(例如),当我点击运行代码时,它将收集数据,但是如何继续拉取新烛光?这是我的代码:

import binance.client
from binance.client import Client
import pandas as pd 
import numpy as np
import time 
import datetime 
from datetime import datetime, timedelta
import matplotlib.pyplot as plt

Pkey = 'xxxxxxxx'
Skey = 'ccccccccccccc'

client = Client(api_key=Pkey, api_secret=Skey)

ticker = 'BTCUSDT'
interval = Client.KLINE_INTERVAL_5MINUTE
depth = '13 hours ago'

raw = client.get_historical_klines(ticker, interval, depth)
raw = pd.DataFrame(raw)
print(raw)

谢谢


Tags: 数据代码fromimportclientapidatetimeraw
1条回答
网友
1楼 · 发布于 2024-05-16 21:04:35

正如@Selcuk在他的评论中提到的,您可以循环二进制读取并在每次读取之间暂停。在您的情况下,您将以5分钟的间隔检索数据,因此您可以在再次读取之前等待5分钟并请求之前的5分钟。您可以使用append附加到初始数据帧

请尝试以下代码:

import ......

Pkey = 'xxxxxxxx'
Skey = 'ccccccccccccc'

client = Client(api_key=Pkey, api_secret=Skey)

ticker = 'BTCUSDT'
interval = Client.KLINE_INTERVAL_5MINUTE
depth = '13 hours ago'

raw = client.get_historical_klines(ticker, interval, depth)
raw = pd.DataFrame(raw)
alldata = raw
print(raw)  # intial load

depth = '5 minutes ago'
while True:  # loop forever
    time.sleep(300)  # wait 5 minutes
    raw = client.get_historical_klines(ticker, interval, depth)  # 5 minutes of data
    raw = pd.DataFrame(raw)
    alldata.append(raw)  # add to main dataset
   

相关问题 更多 >