【Python】ビットフライヤーからビットコインの価格を取得する方法

スポンサーリンク

ビットコインの日次の価格データを取得する

今回はビットフライヤーからビットコインの価格を取得してみたいと思います。ビットフライヤーはAPIが用意されているのですが、APIだとリアルタイムの情報しか取れないので、1年単位のデータを入手したいという時には使えません。なのでCryptowatchというサイトから取得することになります。

1日足で、2017/01/01以降のチャートを取得したい時は以下のような感じです。

https://api.cryptowat.ch/markets/bitflyer/btcjpy/ohlc?periods=86400&after=1483196400

見たら分かると思いますが、periodsで日次データか分足にするかの調整ができ、afterは取得したい期間の始めのUnixtimeを指定するだけです。

Pythonでビットコインの価格データを取得する

PythonでこのAPIをつかう場合はrequestsというライブラリーを使うと便利です。requestsはPythonのみだとインストールする必要がありますが、Anacondaだとデフォルトでインストールされているかと思います。

###ビットフライヤーの価格データを取得する

import requests
r=requests.get(‘https://api.cryptowat.ch/markets/bitflyer/btcjpy/ohlc?periods=86400&after=1483196400’)

r

すると、結果は <Response [200]> と返ってくるはずです。取得したビットコインの価格データは r という変数にJSONというファイル形式で保存されています。

JSONの操作

r2=json.loads(r.text)

r2

{‘allowance’: {‘cost’: 1746301, ‘remaining’: 7993329326},
‘result’: {‘86400’: [[1495324800, 232660, 242460, 231962, 242460, 231.863, 0],
[1495411200, 243915, 343303, 236510, 254214, 309.532, 0],
[1495497600, 256994, 276003, 256994, 276002, 4.94, 0],
[1495584000, 284989, 284989, 275603, 275603, 0.002, 0],
[1495670400, 302146, 302146, 300000, 301050, 1.05, 0],
[1495756800, 303000, 340000, 270002, 270002, 17.01, 0],
[1495843200, 349998, 349998, 194003, 281061, 21.613, 0],
[1495929600, 269998, 269999, 210000, 269999, 2.1200001, 250001],
[1496016000, 269999, 279999, 210045, 210046, 7.623, 269999],
[1496102400, 270000, 280000, 265202, 280000, 3.321, 270412],
[1496188800, 270007, 280999, 270000, 277383, 1.271, 275965],
[1496275200, 250000, 260000, 245653, 260000, 0.012, 260000],
[1496361600, 289900, 289999, 277986, 289999, 5.106, 289869],
[1496448000, 280000, 280000, 270000, 279999, 14.802, 0],
[1496534400, 298000, 298000, 272000, 291967, 0.702, 0],
[1496620800, 280000, 299999, 280000, 299999, 2, 0],
[1496707200, 299998, 300000, 272000, 300000, 11.159, 0],
[1496793600, 309000, 323454, 309000, 322030, 47.822956, 0],
[1496880000, 319220, 320060, 289507, 293681, 41.727978, 0],
[1496966400, 292301, 309700, 289550, 308850, 10.303012, 0],
[1497052800, 308696, 319998, 301024, 319998, 5.2129993, 0],

こんな感じでビットコインの価格を取得できます。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする