ちょっと主要仮想通貨間の関係を調べてみようかと考えているが、まず手動でデータ収集をするのは無いでしょう。ウェッブクローラつかってもいいのですが、そこまで手間でなくてもいいのでは、APIがあるはずのではとおもって、試してみたメモを取りました。
情報の出所
http://www.procrasist.com/entry/cryptcoin-api_ この記事に書いたとおり、https://coinbin.org/btc
にアクセスしてみたら、エラーではじかれた。まぁ、原因を調べるより他のAPIをさがそうと...
そこにたどり着いたのは、CoinApi 無料で使えるAPIキーは一日100回しか使えないが、私の場合、100回でも何とかなりそうなので、これでいきましょう。
早速APIキーを申請して、通貨一覧を取得します。
通貨一覧を取得
通貨情報取得
ここからは、Pythonで行きましょう。
必要なパラメータを準備
import requests
payload = {'period_id': '12HRS', 'time_start': '2017-01-01T00:00:00','limit':'1000'}
headers = {'X-CoinAPI-Key': '申請したAPIキー'}
先ほど保存した通貨一覧情報を読み取る
import pandas as pd
from pandas.io.json import json_normalize
symbols = pd.read_json("symbols.json")
simp = symbols[['asset_id_quote','exchange_id','symbol_id','symbol_type']]
あまりも多すぎるので、BITSTAMPのUSDとのレート情報を取る
simpsymbols = simp[simp.symbol_id.str.startswith('BITSTAMP')
& simp.symbol_id.str.contains('USD')
& (~simp.symbol_id.str.contains('EUR')) ]
通貨毎にデータを取得、CSVファイルに保存
url_base = 'https://rest.coinapi.io/v1/ohlcv/{0}/history'
for symbol_name in simpsymbols.symbol_id.unique():
print (url_base.format(symbol_name))
data = requests.get(url_base.format(symbol_name),
headers=headers,
params=payload).json()
df = json_normalize(data)
df.to_csv(symbol_name+'.csv')
これから
今度の記事はそれらのデータの分析となりますが、気が向いたら。