pip install pybitflyer
API Key
Peut être obtenu à partir de ce qui suit après l'enregistrement https://lightning.bitflyer.jp/developer
bitFlyer Lightning API
・ Restrictions https://lightning.bitflyer.jp/docs?lang=ja&_ga=2.103916546.34290189.1503318908-1417182779.1500704462
Restrictions de l'API
L'API HTTP limite le nombre d'appels comme suit.
L'API privée est limitée à environ 200 fois par minute.
Le nombre maximum de fois par adresse IP est d'environ 500 fois par minute.
Le prix quotidien moyen du contrat est de 0.Les utilisateurs de moins de 01 peuvent être limités à environ 10 appels API privés par minute le lendemain.
La commande manuelle n'est pas limitée.
・ Acquisition de Ticker
https://lightning.bitflyer.jp/docs?lang=ja&_ga=2.103916546.34290189.1503318908-1417182779.1500704462#ticker
Obtenez toutes les 5 secondes
import pybitflyer
import time
from datetime import datetime
from pytz import timezone
from dateutil import parser
import pytz
TICKER_KEYS = ["product_code",
"timestamp",
"tick_id",
"best_bid",
"best_ask",
"best_bid_size",
"best_ask_size",
"total_bid_depth",
"total_ask_depth",
"ltp",
"volume",
"volume_by_product"]
API_KEY = "XXXXXXXXXXXXXXXXXXXXXX" #Obtenu depuis Ma page après la connexion à Bitflyer
API_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXX" #Obtenu depuis Ma page après la connexion à Bitflyer
def to_jst(datestr):
return pytz.timezone('UTC').localize(parser.parse(datestr)).astimezone(timezone('Asia/Tokyo'))
if __name__ == '__main__':
api = pybitflyer.API(api_key = API_KEY, api_secret = API_SECRET)
now = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
ticker_data = open(now + "_ticker_data.tsv", "w")
for ticker_key in TICKER_KEYS:
ticker_data.write(ticker_key + "\t")
ticker_data.write("\n")
while True:
ticker = api.ticker(product_code="BTC_JPY")
for ticker_key in TICKER_KEYS:
if ticker_key == "timestamp":
data = to_jst(str(ticker[ticker_key]).replace("T", " ")).strftime("%Y/%m/%d %H:%M:%S")
else:
data = str(ticker[ticker_key])
ticker_data.write(data + "\t")
ticker_data.write("\n")
ticker_data.flush()
time.sleep(5)
ticker_data.close()
Il échouera en raison d'une erreur de connexion, donc si vous le faites correctement, vous devez prendre des mesures contre l'erreur.
Recommended Posts