APIを呼び出し、Bitcoinの価格を取得するPython3のプログラムを書いてみた。時代の最後尾を往くWebサイト。APIを呼び出し、Bitcoinの価格を取得するPython3のプログラムを書いてみた。目次はじめにBitcoin始めました。システムの構成サクサクと構築します。参考文献スポンサーリンクはじめにBitcoin始めました。本Webサイトとは別のWebサイトで運用している忍者AdMaxで入手したポイントとBitcoinが交換できるということで、bitFlyerのアカウントを作成し、500円分(実際には手数料を差し引かれるので、485円分くらいになりますが...)のBitcoinと交換してみました。ポイントをもらったので、いろいろといじり倒していたら、いつのまにか仮想通貨デビューしていたでござる。2020Bitcoinへの交換手続き中に日本円との交換レートが短い間隔でかつ大きめに変化してしまうせいか、4回続けて交換に失敗してしまい、本当に交換できるのかどうか不安になってしまいましたが、5回目の挑戦で交換に成功しました。Bitcoinへの交換に成功した後で、bitFlyerにログインしてみると、bitFlyerのリンク経由で買い物をすることでBitcoinがもらえるそうなので、かなりたくさんあるメニューの中からドミノ・ピザを注文してみることにしました。サーモンがいい感じに焼けて鮭になってました。2020bitFlyerのリンク経由でドミノ・ピザでピザを注文すると、商品価格の2.4%(この記事を最初に書いた時点(2020年2月)の情報です。)相当のBitcoinをもらえるそうです。最終的にもらうためには中の人達の間でそれなりの手続きが必要らしく、かなり先の話になりそうです。bitFlyerはbitFlyerとの間でBitcoin等の売買を行う方式(「販売所」方式)の他にBitcoinとEthereumについては板取引ができます(「取引所」方式)。Lightning」)についてはその情報をAPIを通して取得することができます。API)を使って、現在の取引値などの情報を取得して、データベースに格納するPython3のプログラムとMariaDB用のSQL文を書いてみることにします。システムの構成システムは2個のサブシステムから構成される単純なものです。Python3によるデータ取得プログラム。MariaDB上に構築した取得データ格納用のテーブル。API等)と同様に時間あたりのAPIの呼び出し可能回数に上限が設けられていますので、WebサイトへのアクセスがあるごとにAPIを呼び出すという使い方は現実的ではありません。スポンサーリンクそこで、データ取得プログラムから取得されたデータをMariaDB上に構築した取得データ格納用のテーブルに書き込んでおき、ある一定程度の時間にわたって使い回すことを想定しています。前節で列挙した順番とは逆になりますが、MariaDB上に構築した取得データ格納用のテーブルから構築します。MariaDB上に構築した取得データ格納用のテーブル以下のSQL文を書き、MariaDBに流し込んでテーブルを作ります。勝手ながらテーブル名はcrypto_currency_info_cacheとさせていただきました。/v1/getticker”リクエストのレスポンスに含まれるデータ項目名に準じていますが、”timetable”については予約語っぽい単語は避けるべく、”info_at”に項目名を変更しています。Python3によるデータ取得プログラム以下のPython3のプログラムを書きます。データベースへの接続に必要な情報(ユーザ名、パスワード、データベースサーバ名及びデータベース名)はJSON形式で記述し、”db_config.json”という名前で以下のPython3と同じディレクトリに保管します。実行例スポンサーリンクプログラムが書けたら、以下のコマンドを実行します。./getticker.py上記のプログラムは何も出力することなく終了します。終了したら、MariaDBのデータベース上のテーブルを確認します。sec)上記のような感じで格納されていれば、動作確認完了です。おまけここまでできたら、次はgetticker.pyをcronで定期的に実行させたりとかするとデータが取得できて、いろいろな分析の材料にできたりして面白くなってくるのかもしれませんが、それは記事を改めて書くことにします。このたび作成したアカウントのBitcoinのアドレスは以下の通りです。4(ZE554KL))で読み込むことができ、読み取りの結果が上記のアドレスと一致しましたので、寄付を募集する際などに何とか使えそうです(なお、上のアドレスまたはQRコードを直接寄付のために使うこともできます🙇‍♂️)。シャンパーニュを飲んだら更新されるページ。PCからの音声をBOSEのスピーカーに飛ばしたら臨場感が増した件。httpからhttpsへのリダイレクトを削減するためのnginxの設定。8.1→10にアップグレードしてみたところ、途中で電池が切れて復旧に手間取った件。このウィジェットの背景が黒くなってしまうことがある理由についてはこちらをクリック。AviUtlgimp-2.10.sikuliGIMP-2.10を使ってスクリーンショットを取得するためのSikuliXのスクリプト。SikuliX-2.0.1+GIMP-2.10.10の組み合わせでのみ動作確認を行っています。SolrのDataImportHandlerで7-zipで圧縮されたファイルのインポートをサポートするためのJARファイル。struts2ajaxtestStruts2でAjaxを使用するWebアプリケーションのサンプル。LANを発行するためのスクリプトのサンプル(Fedora用)。8用のNEologd入りkuromojiをビルドするためのパッチ。8.1→10にアップグレードしてみたところ、途中で電池が切れて復旧に手間取った件。APIを呼び出し、Bitcoinの価格を取得するPython3のプログラムを書いてみた。httpからhttpsへのリダイレクトを削減するためのnginxの設定。YouTube↓のボタンを押していただくとチャンネルを登録できます。見解等とは一切関係ありません。