#4 Python×ビットコイン自動売買 | Coincheck APIを使って最新価格を取得しよう!

  • URLをコピーしました!

こんにちは、はやたす(@hayatasuuu )です。

第4回目の本記事では「Pythonを使ってビットコインの最新価格を取得したい」と思います。

前回の記事 : #3 Python×ビットコイン自動売買 | APIとは?初心者でも理解できるように解説!

APIについては、前回の記事で解説しました。今回はコードを書くところからスタートしていきます。

ビットコインの最新価格を取得するにあたり、仮想通貨取引所のCoincheckを使っていきます。

この記事で紹介するAPIは、取引口座を持っている必要がありません。誰でもAPIを利用できます。

もしビットコインの売買をしないなら口座開設は不要です。

※もし今後、ビットコインの売買をおこなうなら、口座開設が必要になります。本人確認が遅れているようなので、早めに口座解説しておくと、滞りなく学習を進められますよ!

公式ページ : 仮想通貨取引所・販売所の口座開設|Coincheck(コインチェック)

目次

Coincheck APIを使って最新価格を取得しよう!

それではコードを書いていきましょう。第2回目でPythonの環境構築は完了していますね?

念のために確認しておくと、以下のようになっていれば大丈夫です!

python-bitcoin-ticker1

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を確認できます。

python-bitcoin-ticker2

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

そうすると以下のような画面になるはずです。

python-bitcoin-ticker3

出力結果だけ取り出すと、以下のようになっています。

{'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ファイルを実行しましょう。

python-bitcoin-ticker4

改めて出力部分だけ取り出してみます。

{'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が合っているか確認してみましょう。

python-bitcoin-ticker5

しっかり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の扱い方は、今回と変わりません。でも全取引履歴の取得には、少しだけコードを追加する必要があります。

今は簡単ですが、少しずつ内容が難しくなっていきます。ぜひ復習しながら学習を進めていきましょう!

あわせて読みたい
#5 Python×ビットコイン自動売買 | Coincheck APIを使って全取引履歴を取得しよう! こんにちは、はやたす(@hayatasuuu )です。 第5回目の本記事では、ビットコインの全取引履歴を取得したいと思います。 前回の記事 : #4 Python×ビットコイン自動売買 | ...
SNSに投稿して読み返す
  • URLをコピーしました!
  • URLをコピーしました!
目次