min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Python3 ビットコインの対円の情報をbitFlyerから取得する

金もうけには全く興味は無いが、ビットコイン自体は持っているブロックチェーンの技術自体は素晴らしいと思うので、勉強のために試しに入手したからだ。

もちろん無料で。お試しにカネ払う気なんてサラサラ無い。

min117.hatenablog.com

 

入手当時(2017年10月)はビットコイン高騰の直前で、まだ1ビットコインが40万円台だった。このあと120万円くらいまで高騰(2018年2月頃)し、その後にコインチェック事件があった。

f:id:min117:20180723214138p:plain

min117.hatenablog.com

 

まあ、こんな虚業というか虚マネーに一喜一憂する人はすればいいと思うが、そんなことより「人々の欲によって大きく金額が変わる」という現象そのものを数値で見ること自体はとても面白いと思う。

 

株価もそうだが、人の欲の、なんと醜いことか。しかし、それが社会を動かしているのも事実なわけで。その醜さを、せめて勉強に使わせてもらおう。

 

 

 

どうもビットコインの情報を無料で提供するAPIがあるらしい。bitFlyerが提供している。APIキーも無くちょっとPythonで組むだけで日々のビットコイン情報を自由に取ってこれるようだ。さっそくやってみる。

このサイトそのまんま。

testpy.hatenablog.com

 

まずは pip で pybitflyer をインストールする必要がある。

github.com

 

記事そのままでインストールする。

$ pip install git+https://github.com/yagays/pybitflyer.git

f:id:min117:20180723215527p:plain

 

進捗表示する progressbar2 もインストールする。こういうのがフツーにあるからPythonは便利だ。

$ pip install progressbar2

f:id:min117:20180723215738p:plain

 

ソースを書く。記事そのまま写経する。実行するとビットコインの情報を取ってくるプログラムビットコイン情報取得エージェント)だ。

$ vim agent.py

f:id:min117:20180723215745p:plain

(記事から変えたところ)

 20行目 保存先のPATHを自分の環境に合わせて書き換えた。

 39行目 countは10の固定にした。計算させるとやたら遅かったので。

f:id:min117:20180723220034p:plain

f:id:min117:20180723220045p:plain

 

classの書き方、defの組み込みかた、selfの使い方、__main__の書き方、等が身に付く。「プログラミング教室」なんかで習うと眠くてやってられない内容なのに、お金に絡む内容となるとやりたいことの想像がつくからコードは自然に身に付く。浅ましさは結局自分もか。他人の欲にとやかく言える立場じゃないな。お金って恐ろしい。

 

動かしてみよう。シェバンで #!/usr/bin/env python してあるから、シェルから実行するだけでいい。

$ ./agent.py

f:id:min117:20180723220856p:plain

コードの39行目でcountを10にしたので、プログレスバーは「 3 of 10」で進む。1分くらいで実行が完了する。

結果はこれ。

f:id:min117:20180723221323p:plain

取得最終の金額は85万4867円。昨日より5万円くらい上がってるみたい。

5行目でヘッダが入るのは何でだろ?あとで調べる。

これで情報を取ってこれるのは分かった。あとはPythonなので、いろいろとデータを食わせて遊べそうだ。週末に試す。

 

※ 記事にある「ティッカー」って何なのか。正直分かってない。あまり興味もない。まあ「その日のビットコインの最高価格、最低価格等の情報」くらいの理解でよさそう

f:id:min117:20180723220305p:plain

www.selfi.sh

 

testpy.hatenablog.com

f:id:min117:20181027211859p:plain

 

参考)pybitflyerについて。世の中には天才がいるものだ。

wolfin.hatenablog.com