はじめに
- NHK番組表APIを使えば番組のJSONデータの取得が可能。
- NHKラジオ第二放送の語学番組(英語)を録音するために必要な情報(開始日時、番組時間、タイトル)を取得したい。
- APIで取得したJSONデータをjqコマンドで編集したらわりと簡単に必要な情報が取得できた。
1. NHK番組表API
2. 今回使用するAPI
Program List API (Ver.2)
http://api-portal.nhk.or.jp/doc_list-v1_con
いくつかAPIが用意されてますが結局編集が必要になるので一日分のデータを取得できる上記APIを使用します。
APIを使用するためには、ユーザ登録が必要です。
APIで何ができるのか確認してからユーザ登録したいという方は、「5. WEBページからJSONデータを取得する方法」の手順を実施して取得データを確認してください。
3. jq インストール
jqのインストールは、以下から実施し、パスを通しておいて下さい。
https://stedolan.github.io/jq/
4. APIを使用してJSONデータを取得するシェル
get_sample_json.sh
#!/bin/sh
# 取得する番組表年月日を取得(スクリプト実行日)
date_s=$(date "+%Y-%m-%d")
# サービスID NHKラジオ第二放送
service="r2"
# ユーザ登録で払いだされるIDを指定
myid="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
url=http://api.nhk.or.jp/v2/pg/list/130/${service}/${date_s}.json?key=${myid}
# 取得したJSONデータをファイルに保存する。
curl ${url} | jq '.' > ./sample.json
上記、スクリプトでNHKラジオ第二放送一日分のJSONデータが取得できます。
5. WEBページからJSONデータを取得する方法
まず、どんな情報が取得できるのか確認してからユーザ登録したいという方は、APIページで出力されたJSONデータをファイルに保存することで「4. APIを使用してJSONデータを取得するシェル」と同様のデータを取得することができます。
パラメータ(area,service,date)を指定して「指定したパラメータで試してみる」をクリックすると下図のJSONデータが取得できます。
ユーザ登録せずに後編 NHK番組表APIからJSONデータを取得してjqで編集する(データ編集編) のスクリプトを試す場合は、Response Exampleに表示されたJSONデータすべてをコピーしてファイル(sample.json)に保存してください。行番号は削除してください。
今回はここまでで、後編NHK番組表APIからJSONデータを取得してjqで編集する(データ編集編) に続きます。