見出し画像

仮想通貨bot 勉強記録④

~json形式のデータから任意の値を取り出す~

前回までのあらすじ

第2回:1まで進めました。今回は第2回:2からやっていきます。

まずは下記のコードです。

import requests
response = requests.get("https://api.bitflyer.jp/v1/ticker/")
print(response.json())

requestsというモジュールをインポートして、変数:responseにrequestsモジュール内のget関数を使って"https://api.bitflyer.jp/v1/ticker/"の情報を取得し、最後にjson形式に変換してprintで出力しています。

実行すると、こんな感じになります。

画像1

続いて教科書の第2回:3に進みます。

この章で最も大事な内容は、json形式のデータの中身の見かたです。
教科書の”データの取り出し方”の項目を読めば分かります。

ここでコードを少しアレンジします!

json形式はコンピュータ用なので、改行もスペースもなく、人間には見づらいです。そこで、こちらの記事を参考にしました。まちゅけんさんのrichモジュール紹介です。

まずrichというモジュールをインストールします。

pip install rich

コピペしてEnterでインストールしましょう。

次に、コードの最初の部分でrichモジュールのprint関数をインポートし、普段のprint関数をrich仕様のprint関数に上書きしましょう。
↓コードの2行目です。

import requests
from rich import print

response = requests.get("https://api.bitflyer.jp/v1/ticker/")
print(response.json())

実行すると、、、

画像2

見やすい!!
自動改行と色付けでいい感じにこなれ感を演出してくれます(?)

さて教科書に戻りましょう。
例として、実行結果の中から'best_ask'のみを取り出すには、

import requests
from rich import print

response = requests.get("https://api.bitflyer.jp/v1/ticker/").json()
print(response['best_ask'])

こんな感じのコードに修正します。
変化点は2個。
①printで出力する際にjson形式に変換していたのを、response変数に入れるときにjson形式に変換するように変えました。

画像3

②printで出力する際に、response内の'best_ask'の項目を指定しています。

画像4

画像5

実行するとbest_askの値のみを出力します。

第2回:3まで終了しました。

この記事が気に入ったらサポートをしてみませんか?