imoniの開発Blog

    前回

    個人投資家のためのFinTechプログラミング

    という本を買った、という話をしました。


    で、さっそく API を利用して、ビットコインの価格を取得してみました。


    取引所

    本では、

    という3つの取引所を挙げています。

    本にならって、この3つから価格を取得してみました。


    APIの種類

    本によると、

    という3種類のAPIがあるそうです。

    「パブリック API」は、登録せずに利用できるそうなので、「パブリック API」を使いました。


    Python で取得

    本では Python を使っています。

    この機会に 初 Python に挑戦です。

    import requests
    
    # bitflyer で取得
    res = requests.get('https://api.bitflyer.jp/v1/ticker?product_code=BTC_JPY')
    jsonData = res.json()
    print('bitFlyer  = ' + "¥{:,.0f}".format(jsonData["ltp"]))
    
    # Zaif で取得
    res = requests.get('https://api.zaif.jp/api/1/ticker/btc_jpy')
    jsonData = res.json()
    print('Zaif      = ' + "¥{:,.0f}".format(jsonData["last"]))
    
    # coincheck で取得
    res = requests.get('https://coincheck.com/api/ticker')
    jsonData = res.json()
    print('coincheck = ' + "¥{:,.0f}".format(jsonData["last"]))
    

    こんな感じになりました。

    ほとんど本に書いてある、まんまなんですけどね(汗)

    (数値を価格のフォーマットに整形するくらいには変えました)

    価格は JSON形式 で返ってくるみたいですね。

    そして、実行してみると。

    bitFlyer  = ¥446,000
    Zaif      = ¥447,805
    coincheck = ¥448,829
    

    ちゃんと取得できました。


    PHP で取得

    せっかくなので、PHP でもやってみました。

    <?php
    
    // bitflyer で取得
    $json_str = @file_get_contents("https://api.bitflyer.jp/v1/ticker?product_code=BTC_JPY");
    $json = json_decode($json_str);
    echo "bitFlyer  = ¥" . number_format($json->ltp) . "\n";
    
    // Zaif で取得
    $json_str = @file_get_contents("https://api.zaif.jp/api/1/ticker/btc_jpy");
    $json = json_decode($json_str);
    echo "Zaif      = ¥" . number_format($json->last) . "\n";
    
    // coincheck で取得
    $json_str = @file_get_contents("https://coincheck.com/api/ticker");
    $json = json_decode($json_str);
    echo "coincheck = ¥" . number_format($json->last) . "\n";
    

    こんな感じですね。

    実行すると。

    bitFlyer  = ¥446,001
    Zaif      = ¥448,855
    coincheck = ¥449,441
    

    となります。


    API ドキュメント

    各取引所で「API ドキュメント」があります。

    価格以外にもいろいろな情報が取得できそうですね。


    コメント

      コメントを投稿する