Python Tips: Web サービスの JSON を処理したい

HTTP リクエストに対して JSON 形式でデータや処理の結果を返すタイプのサービスを Python で利用する方法をご紹介します。

私が知るかぎり、最もかんたんな方法は requests ライブラリを使う方法です。

import requests

URL_JSON = 'https://www.lifewithpython.com/feeds/posts/default?alt=json'

r = requests.get(URL_JSON)

# 無事レスポンスが返ってきたら中身を出力
if r.status_code == 200:
    # json を取得
    j = r.json()

    # キーを表示
    print(j.keys())  # => [u'feed', u'version', u'encoding']

    # 各エントリのタイトルを一覧で表示
    entries = j['feed']['entry']
    for e in entries:
        print(e['title']['$t'])

requests ライブラリの get 関数などが返す requests.models.Response オブジェクトには json() というメソッドがあり、これは JSON の中身をパース済みの値となっています。具体的には list 型や dict 型です。