コアダンプの数だけ強くなれるよ

見習いエンジニアの備忘log

coincheckのAPIで仮想通貨の販売レートを表示する

※2017/11/12 販売レートを表示する仮想通貨のペアにltc_jpy、bch_jpyを追加。


下記で提供されているAPIを使ってpythonで仮想通貨の販売レートを表示してみる。

coincheck.com

事前準備

外部モジュールのrequestsが必要になるため事前にpipでインストールする。

[user@localhost coincheck]$ sudo /usr/local/bin/pip install requests


ソースコード

#!/usr/local/bin/python
# -*- coding: utf-8 -*-

import requests
import json

coins = [
            [1,  'BTC',  'btc_jpy'],
            [2,  'ETH',  'eth_jpy'],
            [3,  'ETC',  'etc_jpy'],
            [4,  'DAO',  'dao_jpy'],
            [5,  'LSK',  'lsk_jpy'],
            [6,  'FCT',  'fct_jpy'],
            [7,  'XMR',  'xmr_jpy'],
            [8,  'REP',  'rep_jpy'],
            [9,  'XRP',  'xrp_jpy'],
            [10, 'ZEC',  'zec_jpy'],
            [11, 'XEM',  'xem_jpy'],
            [12, 'LTC',  'ltc_jpy'],
            [13, 'DASH', 'dash_jpy'],
            [14, 'BCH',  'bch_jpy'],
        ]

urlbase = 'https://coincheck.com/api/rate/'

def main():
    for i in range(len(coins)):
        response = requests.get(urlbase+coins[i][2])
        if response.status_code != 200:
            raise Exception('return status code is {}'.format(response.status_code))

        rate = json.loads(response.text)

        print("%-4s : \%-10s" % (coins[i][1], rate['rate']))

if __name__ == "__main__":
    main()


結果

仮想通貨の数量 1.0 ⇔ 日本円 の販売レートを表示。

[user@localhost coincheck]$ date
Sun Nov 12 20:29:30 JST 2017

[user@localhost coincheck]$ /usr/local/bin/python3 coincheck.py
BTC  : \721915.5
ETH  : \34021.16311272
ETC  : \1801.11420011
DAO  : \340.20989853
LSK  : \626.67318809
FCT  : \1983.87432809
XMR  : \13297.06266267
REP  : \1989.84456927
XRP  : \21.7224374
ZEC  : \26883.60622169
XEM  : \20.63234499
LTC  : \6592.79223558
DASH : \39448.74041637
BCH  : \142600.55988035



その他


本当はjavascriptで埋め込みたかったが何故かGETリクエストのステータスが404となりJSONデータを取得できず。同じソースコードでURLを他社APIに指定すると正常に取得できるのでサーバー側の問題か?


www.segmentation-fault.xyz


www.segmentation-fault.xyz