広告
以前はcoincheckのAPIだけ使っていましたが、仮想通貨の取引所も増えてきましたので他の取引所が提供しているAPIを試してみました。
pythonで仮想通貨の価格(日本円)表示します。
Zaif
APIの公式ドキュメントは下記。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#!/usr/local/bin/python # -*- coding: utf-8 -*- import requests import json coins = [ [1, 'BTC', 'btc_jpy'], [2, 'XEM', 'xem_jpy'], [3, 'MONA', 'mona_jpy'], ] urlbase = 'https://api.zaif.jp/api/1/last_price/' 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['last_price'])) if __name__ == "__main__": main() |
1 |
実行結果
1 2 3 4 5 6 7 |
[user@localhost zaif]$ date Sun Nov 12 20:59:35 JST 2017 [user@localhost zaif]$ /usr/local/bin/python3 zaif.py BTC : \720000.0 XEM : \21.1 MONA : \305.7 |
1 |
bitflyer
APIの公式ドキュメントは下記。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#!/usr/local/bin/python # -*- coding: utf-8 -*- import requests import json coins = [ [1, 'BTC', 'btc_jpy'], [2, 'FX_BTC', 'fx_btc_jpy'], ] urlbase = 'https://api.bitflyer.jp/v1/getticker?product_code=' 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("%-6s : \%-10s" % (coins[i][1], rate['ltp'])) if __name__ == "__main__": main() |
1 |
実行結果
1 2 3 |
[user@localhost bitflyer]$ /usr/local/bin/python3 bitflyer.py BTC : \710919.0 FX_BTC : \717699.0 |
1 |
bitbank
APIの公式ドキュメントは下記。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#!/usr/local/bin/python # -*- coding: utf-8 -*- import requests import json coins = [ [1, 'BTC', 'btc_jpy'], [2, 'XRP', 'xrp_jpy'], [3, 'MONA', 'mona_jpy'], [4, 'BCC(BCH)','bcc_jpy'], ] urlbase = 'https://public.bitbank.cc/' def main(): for i in range(len(coins)): response = requests.get(urlbase+coins[i][2]+'/ticker') if response.status_code != 200: raise Exception('return status code is {}'.format(response.status_code)) result = json.loads(response.text) print("%-8s : \%-10s" % (coins[i][1], result['data']['last'])) if __name__ == "__main__": main() |
1 |
実行結果
1 2 3 4 5 6 7 8 |
[user@localhost bitbank]$ date Sun Nov 12 21:18:20 JST 2017 [user@localhost bitbank]$ /usr/local/bin/python3 bitbank.py BTC : \718474 XRP : \22.762 MONA : \320.000 BCC(BCH) : \180365 |
1 |
BTCBOX
APIの公式ドキュメントは下記。
https://blog.btcbox.jp/archives/8759#toc3
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/usr/local/bin/python # -*- coding: utf-8 -*- import requests import json ticker = 'https://www.btcbox.co.jp/api/v1/ticker/' def main(): response = requests.get(ticker) if response.status_code != 200: raise Exception('return status code is {}'.format(response.status_code)) rate = json.loads(response.text) print("BTC_JPY : \%-10s" % (rate['last'])) if __name__ == "__main__": main() |
1 |
実行結果
1 2 3 4 5 |
[user@localhost btcbox]$ date Sun Nov 12 21:26:59 JST 2017 [user@localhost btcbox]$ /usr/local/bin/python3 btcbox.py BTC_JPY : \710030 |
1 |
kraken
APIの公式ドキュメントは下記。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#!/usr/local/bin/python # -*- coding: utf-8 -*- import requests import json coins = [ [1, 'XBT(BTC)', 'xbtjpy', 'XXBTZJPY'], [2, 'ETH', 'ethjpy', 'XETHZJPY'], ] urlbase = 'https://api.kraken.com/0/public/Ticker?pair=' 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("%-8s : \%-10s" % (coins[i][1], rate['result'][coins[i][3]]['c'][0])) if __name__ == "__main__": main() |
1 |
実行結果
1 2 3 4 5 6 |
[user@localhost kraken]$ date Sun Nov 12 21:45:18 JST 2017 [user@localhost kraken]$ /usr/local/bin/python3 kraken.py XBT(BTC) : \714001.000 ETH : \34330.00000 |
1 |
まとめ
国内の取引所の差額なんかを一覧にしてみるのも面白そうですね。
広告
広告