curlとjqでホットペッパーAPIからいろいろ情報を取り出してみる
ホットペッパー | APIリファレンス | リクルートWEBサービスからcurlとjqでいろいろ情報を検索してみます。 エリアコードを取得する 大エリア・中エリア・小エリアとあるみたいですが、とりあえず試すだけなので大エ […]
広告ここから
広告ここまで
目次
ホットペッパー | APIリファレンス | リクルートWEBサービスからcurlとjqでいろいろ情報を検索してみます。
エリアコードを取得する
大エリア・中エリア・小エリアとあるみたいですが、とりあえず試すだけなので大エリアで広くいってみましょう。
リクエストは以下のような形になります。
$ https://webservice.recruit.co.jp/hotpepper/large_area/v1/?key=YOUR_API_KEY&format=json
レスポンスはこんな感じ。
{ "results": { "api_version": "1.20", "results_returned": "47", "results_start": 1, "results_available": 47, "large_area": [ { "service_area": { "name": "東京", "code": "SA11" }, "name": "東京", "large_service_area": { "name": "関東", "code": "SS10" }, "code": "Z011" }, {
都道府県名にマッチするキーをとりたい場合は、jqで以下のようにするとOK。
$ https://webservice.recruit.co.jp/hotpepper/large_area/v1/?key=YOUR_API_KEY&format=json | jq ".results.large_area[] | select(.service_area.name == \"京都\")" { "service_area": { "name": "京都", "code": "SA22" }, "name": "京都", "large_service_area": { "name": "関西", "code": "SS20" }, "code": "Z022" }
で、めんどくさいのでコマンド化したのが以下。
https://gist.github.com/hideokamoto/fd4c3aa0cb1955082b54496bc0dde74f
都道府県名とキーワードでお店を探す
「グルメサーチAPI」でお店を探せます。
エリアとキーワードで検索する場合は以下のようなリクエストになります。
curl "https://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=${APIKEY}&keyword=${KEYWORD}&service_area=${SERVICE_AREA_CODE}&format=json"
都道府県名そのままいれても検索されませんのでご注意ください。
service_area
には先程のサンプルなどで取得したエリアコードを入れるとよいでしょう。
でスクリプト化したのが以下。
https://gist.github.com/hideokamoto/61a8b57a266d276a9ed447f2480a7b90
/bin/bash search_restaurant_by_hotpepper.sh {YOUR_API_KEY} 京都 日本酒 | jq ".results.shop[] | .name" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 6489 0 6489 0 0 24461 0 --:--:-- --:--:-- --:--:-- 24486 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 38679 0 38679 0 0 92696 0 --:--:-- --:--:-- --:--:-- 92533 "みとき MITOKI" "隠れ家日本酒バル あかまる 離れ" "まんざら 河原町 本店" "肉処 圭助" "桜肉料理 祇園 馬春楼" "酒蔵家 錦店" "いも松 七条新町" "川の流れる忍庵" "臼松 木屋町店" "まんざら亭 NISHIKI"
「だからなんだ」という気もしないでもないですが、応用していけばコマンドラインからお店探しできそうですね。
ということで以上です。