せっかく仮想通貨とPythonが軸のブログをやっているので、coinexchangeのapiを叩いてみたという記事を書いてみたいと思います。
今回やるのは、シンプルにターミナルからPythonのスクリプトを呼び出して、XP/BTCやXP/DOGEを表示するだけ。
Currently we are only providing a Public API which does not use authentication. We will be releasing API V2 with full trade and coin control functionality at a later stage.
とcoinchangeのapiのページにあるように、現時点では、トレードなどができる機能は提供していないようです。
apiの説明
coinchangeのapiについては、どのように公式にどのようにアクセスすれば、どのような値を取得できるか書いています。
'https://www.coinexchange.io/api/v1/getmarkets'の後ろに、以下の表の「URLに付加するURL」をつけてアクセスしてもらえば(クエリを投げると)、「内容」欄に書いてある内容が帰ってきます。
URLに付加するURL | 内容 |
---|---|
getmarkets | 取り扱っているコインのIDなどを返す |
getmarketsummaries | 全てのコインのサマリーを返す |
getmarketsummary?market_id=1 | getmarketsummariesを一つのコインに特定 |
getorderbook?market_id=1 | the top 50 buy and sell order for the market. |
getcurrencies | 全てのコインのオンライン、オフライン等を返す |
getcurrency?currency_id=1 | getcurrenciesを1つのコインに特定 |
(注)公式に記載がある、「the top 50 buy and sell order for the market.」とは何なんでしょう?
APIにアクセスしてみる。
ブラウザからhttps://www.coinexchange.io/api/v1/getmarketsummary?market_id=137にアクセスしてみましょう。以下のようにXP/DOGEの価格等が表示されるのがわかります。なおmarket_idを135にするとXP/BTCの価格が取得できます。
Pythonで取得する。
今回は、詳しくは解説しませんが、以下のように、XP/DOGEの現在の価格、今日の高値、今日の安値、XP/BTCの現在の価格を表示するコードを書いてみました。
def xp(): import requests from datetime import datetime print(datetime.now().strftime("%Y/%m/%d %H:%M:%S")) response = requests.get('https://www.coinexchange.io/api/v1/getmarketsummaries').json() print(response['result'][84]['LastPrice'], ' (現在の価格)') print(response['result'][84]['HighPrice'], ' (今日の高値)') print(response['result'][84]['LowPrice'], ' (今日の安値)') print(response['result'][82]['LastPrice'], ' (BTC)') if __name__ == '__main__': xp()
実行すると、以下のように、現在の価格などが表示されました。
まとめ
とりあえずレートが表示できたので、次のstepに進めそうです。(slackのbotを作るとか、twitterのbotを作るとか)
機械学習で、値動きを分析するとか今後やりたいし、この続きはまた時間があるときに書きます。 '