はじめに
普段はjsを使ってばかりのフロントエンドエンジニアです。
諸事情でAPIを直接叩くことができず、json管理をしなければならないのですが、
毎日jsonを直接サイトで開く→コピーorダウンロード→jsonファイルの更新
という流れが非常に面倒だな、何か一発実行するだけでできないかなと思い、実践してみました。
pythonは5年ほど前に、print()
させた程度の知識しかないです。
今回print関数以外を初めて扱ったので、その備忘録として本記事を書いています。
実装
・特定のAPIを叩いて情報をjsonファイルに吐き出す
jsonOutput.py
#必要モジュールの読み込み
import json
import urllib
import codecs
#読み込むAPIの指定
url='apiのurl'
#APIから取得したデータをpythonのメモリに保存する
firework = urllib.urlopen(url)
#保存したデータを読み込む
read_json = json.load(firework)
#エンコードして吐き出す
with codecs.open('output.json', "w", "utf-8") as fh:
outputData = json.dumps(read_json, indent=2, sort_keys=True, separators=(",", ": "),ensure_ascii=False)
fh.write(outputData)
最後に
そもそも、こんなことするならAPI意味ないじゃんと感じる方もいらっしゃると思います。が、業務の関係でどうしてもやらなければならなくなりました。
少しでも無駄な動きを軽減するために
コマンドを1つ打つだけで情報取得→jsonに吐き出しをして欲しかったので今回このようなタスクを作成してみました。
もっといいやり方があったり、コードでよくない部分があれば教えていただきたければと思います。