shinpsanのデータ分析blog

Pythonやデータ分析に関するメモ

PythonとGooglePlacesAPI 〜データサイエンティスト的うどん屋選び〜 

TNCももち浜ストア うどんMAP 

www.tnc.co.jp

テレビ西日本で大人気放送中の帯の情報番組『ももち浜ストア』!

その中でも大人気のコーナーが『うどんMAP』!

www.tnc.co.jp

ラーメンの印象が強い福岡県ですが、実はうどん店も非常に多く、うどんは福岡県民のソウルフードと言っても過言ではありません。そんな美味しいうどんを九州へ全国へと発信しようという企画です。

タレント岡澤アキラさんがうどん店を取材し、美味しいうどん屋さんを視聴者に紹介してくれるコーナーです。

いくつかルールがあり、

  • うどん人(地元の人)から美味しいうどん店を聞き取り
  • 大型チェーン店は含まない
  • 過去紹介したお店はスキップ
  • 聞き出したうどん店にアキラさん自ら取材交渉

などなど。

聞き込み調査でまだ訪れたことが無いお店の情報を手に入れるまで奮闘する姿に視聴者は夢中になります。ようやく訪れたうどん店でスープまできれいに飲み干す岡澤アキラさんに視聴者はいつもよだれを流して感動しています。

 

もしも岡澤アキラさんに会ったらどのお店を紹介しよう?

自宅近くに新しくうどん店が出来たので行ってみるとなかなか美味しい肉うどんで、アキラさんに取材されたらここを教えよう!と思っていました。

f:id:shinpsan:20201219201738j:plain

はなちゃんうどん外観

f:id:shinpsan:20201219201840j:plain

はなちゃんうどん人気メニュー”肉うどん”

ところで、ここのうどん屋は『うどんMAP』にまだ出てないよな?という疑問を解決するためインターネットの渦へと飛び込みました。やがてたどり着いた『ももち浜ストア』のHP、ほどなくして私は叫びました。

 

「めっちゃデータ化されとるやん!」

 

過去紹介されたうどん店が全てアーカイブされ、1ページあたり10店舗ずつきれいに並んでいます。これはループすれば簡単にスクレイピング出来そうだなと思いました。

 

 

やったこと

スクレイピング

まずはスクレイピングももち浜ストアのHP上で公開されているうどん店を全て集めてきます。店名、住所、電話番号、営業時間、定休日、アキラさんが注文したメニューが取得出来ます。

Google Places APIの準備

  • GCPでプロジェクト作成
  • Places APIをオン
  • Geocoding APIをオン ←これが無くて動かずハマりました。
  • APIキーの取得

レビュー情報取得

  1. Google Places APIを使って、スクレイピングで取得した店名・住所を検索し、GoogleMAP上でのプレイスIDを取得します。
  2. Google Places APIを使って、該当プレイスIDに紐づくレーティングやレビュー数、経緯度などの情報を取得します。

データ整形

スクレイピングで抽出したうどん店リストにGoogle Map上でのレーティングやレビュー数などの情報をマージしたデータフレームを作ります。

文字列操作で情報を項目ごとで切り分けキレイな行と列のデータへと加工します。

結果

streamlitでプチダッシュボーディング

データの中身を見ていると手直しの必要な箇所に気付きます。

  • 道の駅内にある店に道の駅の情報が紐づいている
  • PARCO内にある店舗はPARCO自体のレビューが結びついている

PlacesAPIで店名+住所を検索してTOPにきたものを結びつけていたのでこう言った現象が起こりました。これらは普通のうどん店に比べ明らかに多いレビュー数なので、レビュー数に関する閾値を設けて外すことができると考えました。

また、レビューがあまりに少ないお店も外すことで人気のお店を検索しようと考えました。

スライドバーで簡単に閾値を動かして、その結果得られるデータフレームをインタラクティブに可視化したい!そんなときにstreamlitは非常に便利です。エンジニアリング力よわよわな私でも短いコードで簡単にWEBアプリっぽい物が作れます!

f:id:shinpsan:20201219202310p:plain

streamlitで作成したダッシュボードのスクショ上

f:id:shinpsan:20201219204804p:plain

streamlitで作成したダッシュボードのスクショ下
  • アキラさん福岡の端から端まで取材回っててすごい!
  • レーティング3.7と4.2に壁がある!?
  • とは言え全体的に高いレビュー!
  • 福岡の人みんなうどん好き!
  • しかし一番レーティング高いお店はお蕎麦屋さん!?
  • 香川出身の私としては「讃岐うどん よろず屋」さんめっちゃ気になる!
    絶対食べに行きたい!

 

まとめ

うどんMAPのルールによって良質なデータとなっている!

GoogleMapでうどん店を検索してもチェーン店やファミレスや、居酒屋などが多く表示され求めているものとのズレがありました。しかし今回のデータは、「うどんMAP」のルールによってうどん人(地元の人)が美味しいと思ううどん屋さんだけが集まったデータでありこれは貴重なものだと気付きました。人が手間ひまかけて作り上げた良いデータ、それをHPでオープンにしてくれているTNCさんももち浜ストアさんマジ神!

 

 

『うどんMAP』しか勝たん!

 

 

今回使ったコードはこちらです

github.com