こんにちは、はやたす(@hayatasuuu )です。
第4回目の本記事では「Pythonを使ってビットコインの最新価格を取得したい」と思います。
前回の記事 : #3 Python×ビットコイン自動売買 | APIとは?初心者でも理解できるように解説!
APIについては、前回の記事で解説しました。今回はコードを書くところからスタートしていきます。
ビットコインの最新価格を取得するにあたり、仮想通貨取引所のCoincheckを使っていきます。
この記事で紹介するAPIは、取引口座を持っている必要がありません。誰でもAPIを利用できます。
もしビットコインの売買をしないなら口座開設は不要です。
※もし今後、ビットコインの売買をおこなうなら、口座開設が必要になります。本人確認が遅れているようなので、早めに口座解説しておくと、滞りなく学習を進められますよ!
公式ページ : 仮想通貨取引所・販売所の口座開設|Coincheck(コインチェック)
Coincheck APIを使って最新価格を取得しよう!
それではコードを書いていきましょう。第2回目でPythonの環境構築は完了していますね?
念のために確認しておくと、以下のようになっていれば大丈夫です!
STEP① : ライブラリのインポート
まずはライブラリをインポートしていきましょう。
APIに限らず「Pythonを使ってURLにアクセスしたい」と思ったらrequests
を使う必要がありました。
すでにインストール済みなので、インポートから書いていきます。
import requests
STEP② : URLの設定
次にアクセスするURLを設定していきましょう。
CoincheckのAPIは、以下のようなURL構造になっています。
- ベースになるURL :
https://coincheck.com
- 各APIのURL :
/api/〇〇
つまり/api/〇〇
を変更するだけで、各種APIにアクセスできるということです。
そのことを踏まえて、後でコードを編集しやすいよう以下のようにURLを設定しておきましょう。
BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/ticker'
文字列の結合になるので、変数url
は1つのURLになります。
試しにprint()
してみると、いま設定したURLを確認できます。
STEP③ : URLにアクセス
URLの設定が完了したので、あとはPythonを使ってアクセスしてみましょう。
そのためにはrequests
を使って以下のように書きます。
r = requests.get(url)
print(r.json())
requests.get(url)
でAPIにアクセスし、その結果を変数r
に格納しています。
APIで取得したデータはJSON形式だったので、最後はr.json()
とすれば中身を確認できます。
STEP④ : ファイル実行
ここまで書いたことをまとめると、以下のようになります。
import requests
BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/ticker'
r = requests.get(url)
print(r.json())
上記の7行で、ビットコインの最新価格を取得するコードが作成できました。
それではコードを実行してみましょう。
$ python main.py
そうすると以下のような画面になるはずです。
出力結果だけ取り出すと、以下のようになっています。
{'last': 4824000.0, 'bid': 4824009.0, 'ask': 4824584.0, 'high': 4834998.0, 'low': 4012200.0, 'volume': 7492.29573235, 'timestamp': 1612826633}
これでも悪くないですが、少し見辛いですね。
そんなときprint()
で出力する代わりにpprint()
を使うと体裁がキレイになります。
以下のように書き換えて、出力を見やすくしましょう。
from pprint import pprint
import requests
BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/ticker'
r = requests.get(url)
pprint(r.json())
これでPythonファイルを実行しましょう。
改めて出力部分だけ取り出してみます。
{'ask': 4863343.0,
'bid': 4860993.0,
'high': 4924999.0,
'last': 4863343.0,
'low': 4012200.0,
'timestamp': 1612826916,
'volume': 7621.91106892}
これで見やすい形になりました。
JSON形式は{Key: Value}
の形で記述されているので、「24時間での最高取引価格」を見たいときは「high
に該当する4924999.0
を確認すれば良い」ということになります。
実際にトレード画面を確認して、high
が合っているか確認してみましょう。
しっかり4924999.0
と書かれていますね!
そのほかにも色々な情報が取得できます。(※公式ページから引用)
- last : 最後の取引の価格
- bid : 現在の買い注文の最高価格
- ask : 現在の売り注文の最安価格
- high : 24時間での最高取引価格
- low : 24時間での最安取引価格
- volume : 24時間での取引量
- timestamp : 現在の時刻
参考記事 : 取引所APIドキュメント | 仮想通貨取引所のCoincheck(コインチェック)
「現在の最新価格を取得したい」と思ったら、last
を見れば良いということですね。
毎回すべての情報を出力する必要はないので、最新価格だけ取得するコードに変更しましょう。
import requests
BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/ticker'
r = requests.get(url)
r = r.json()
print('最新価格:', r['last'])
これを実行すると、以下のような出力結果になります。
# 最新価格: 4880003.0
これで今回目的としていた「ビットコインの最新価格」を取得できるようになりました!
まとめ : Coincheck APIを使って最新価格を取得しよう!
というわけで、今回はビットコインの最新価格を取得していきました。
いざAPIを使ってみると「思っていたより簡単だ」と感じてもらえると思います。
次回はコインチェックで行われた全取引履歴を取得していきます。
基本的なAPIの扱い方は、今回と変わりません。でも全取引履歴の取得には、少しだけコードを追加する必要があります。
今は簡単ですが、少しずつ内容が難しくなっていきます。ぜひ復習しながら学習を進めていきましょう!