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"
「だからなんだ」という気もしないでもないですが、応用していけばコマンドラインからお店探しできそうですね。
ということで以上です。