import requests
from time import sleep

r = requests.get('https://testnet.bitmex.com/api/v1/trade?symbol=.BVOL24H&count=1&columns=price&reverse=true')
data = r.json()
volatility = r.json()[0]['price']


def loop():
    while True:
        print(data)
        print(volatility)
        sleep(10)


loop()

Estoy tratando de usar estos datos para mi proyecto, pero cuando hago esta solicitud de API, sigue devolviendo el mismo valor.

La API actualiza sus datos cada 5 minutos. (12:35:00, 12:40:00 etc.)

¿Cómo me aseguro de que mi función siempre tenga los datos más recientes?

1
z1norhc 8 oct. 2019 a las 15:46

1 respuesta

La mejor respuesta

Debe solicitar nuevos datos en cada ejecución del bucle.

import requests
from time import sleep

def loop():
    while True:
        r = requests.get('https://testnet.bitmex.com/api/v1/trade?symbol=.BVOL24H&count=1&columns=price&reverse=true')
        data = r.json()
        volatility = r.json()[0]['price']
        print(data)
        print(volatility)
        sleep(10)


loop()
3
Tim Lesher 8 oct. 2019 a las 12:58