bitflyer로부터 일정 간격으로 비트 코인 레이트 BTC/JPY를 취득하여 파일에 저장

Bitflyer에서 일정 간격으로 비트 코인 속도를 가져 와서 파일에 저장



pybitflyer 설치


pip install pybitflyer

API Key



등록 후 이하로부터 취득 가능
htps : // ぃght 마늘 g. tfぇr. jp/에서 ゔぇぺぺr

bitFlyer Lightning API



· 제한
htps : // ぃght 마늘 g. tfぇr. jp / 어떤 cs?ぁ g = 그럼 &_ = 2.103916546.34290189.1503318908-1417182779.
API制限

HTTP API は、以下のとおり呼出回数を制限いたします。

Private API は 1 分間に約 200 回を上限とします。
IP アドレスごとに 1 分間に約 500 回を上限とします。


1 日の平均約定単価が 0.01 未満のユーザーは、翌日の Private API 呼出回数が 1 分間に約 10 回まで制限されることがあります。
マニュアル発注は制限されません。

· Ticker 취득

출처



5초 간격으로 획득
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" # Bitflyerログイン後のマイページから取得
API_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXX" # 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()

결과





비고



상당히 접속 에러로 떨어지기 때문에, 제대로 한다면 에러 대책이 필요.

좋은 웹페이지 즐겨찾기