見出し画像

【2022/11/21更新】ゴールドステッカー飲食店応援事業プレミアム食事券加盟店舗のExcelリスト作りました

(2022/11/21更新 ここから)
じわじわと加盟店が増えているようで、気がつくとデータの件数が変わっていたのでリストを更新しました。
また、気がついたら市区町村検索もできるようになっており、「キタ」とか「ミナミ」のような分かりにくい区分けは(表面上は)なくなってました。
(2022/11/21更新 ここまで)

Excelリスト作りました

大阪府がおこなっている「ゴールドステッカー飲食店応援事業」というものがあります。
その施策のひとつ(?)として、購入金額の30%分のプレミアがつくプレミアム食事券というものがあります。

結論からいうと、この食事券が使える店舗の一覧を1つのExcelリストとして作成したので公開します。(2022/11/21 更新)

使用上の注意は下記の通りです。ダウンロードの際には必ずお読みください。
個人利用にとどめてください。
・情報の信憑性については何も保証しません。
・有償無償にかかわらず、不特定多数が閲覧可能な形での二次配布はご遠慮ください。(ご友人等への配布は自由にしてください)
・すでに閉店後の店舗情報が含まれています。私のせいではありません。
・同じ情報が重複して登録されている店舗があります。私のせいではありません。
・住所が間違って登録されている店舗があります。私のせいでは(略)
・登録店舗はリアルタイムに変化(追加)しているようです。最新情報は本家の検索フォームで確認してください。

リストがほしいだけの方は、この先を読む必要は全くありません。

UIはいらないからデータをくれ

この食事券、「ゴールドステッカー飲食店応援」と書かれているので、ゴールドステッカー取得店ならどこでも使える…ように思わせておいて、実際には、ステッカー取得店のうち、この事業に加盟しているお店でしか使えません。

そのため、加盟店はどこなのか、行きたい店は加盟しているのか…というのを知るためには、専用の検索ページにてフォームに情報を入力して探す必要があります。

使ったことがある人ならきっと同じ感想を持つことでしょう。「こんな検索フォームはいらないから全データをくれ」と。
ある程度言葉を選んで、オブラートに包んだ言い方をするならば、非常に「残念」なページになっています。

・大阪市内はざっくり5つのエリアからしか選べない
・「大阪城」エリアって聞いたことないけどどの辺りまで?
・住所で検索できないの?
・市区ごとに検索できないの?

といった、食べログ等の飲食店検索サービスを使ったことのある人であれば当然感じるであろう疑問の数々を感じずにはいられませんでした。

この手のサービスを作成したことがあるエンジニアにとっては基本的なことですが、データ本体と、そこにアクセスするUIは独立させておき、インターフェースだけを統一しておくのが定石です。

これだったら、Excelで検索した方がよほど早いよな…と思った私は、このリストを自作することを決意しました。

どうやって作るか

ネットで、「GoToEat 大阪 CSV」などと検索すると、2年前のGo To Eatキャンペーンのときにも同じことを考えた同志達の形跡がいくつか見られました。

それらの情報を見るに、検索結果ページをWebスクレイピングしてリストに出力するという方法が一番近道であろうという結論になりました。
簡単に言うと、
全店舗の検索結果の1ページ目を表示→店名リストを保存→2ページ目を表示→店名リストを保存…
という泥臭い方法で、全ページ表示、全ページ保存をおこなうというものです。

私が見たサンプルはPythonとNokogiriというWebスクレイピングライブラリを使ったものでした。私は普段C#を使っているので、似たようなライブラリをC#(.NET系)で探したところ、「Html Agility Pack」というものを見つけました。

技術的な詳細はこの記事では割愛しますが、こちらを使えば、指定したURLのHTMLを取得し、各要素ごとに情報を分割、欲しい項目を取得するといったことが簡単に可能です。

試しにさっとコードを書いて試したところ、特にトラブルもなくCSVとして一括で情報を得ることができました。
注意したところと言えば、全速力でページアクセスすると、DDOS攻撃と見なされるかもしれないと思ったので、ページごとに常識的なアクセス間隔を空けたこと、あとは、店名に改行や半角カンマが入っている店舗があったので、出力前に文字を置換したことくらいでしょうか。

あとは、それをExcelでオープンし、フィルタリングやソートができるように見出し行をつけて保存、ということで完成です。
必要最低限の情報しか取得していませんが、店名と住所で検索できればとりあえずは十分だろう、ということで意図的にそうしています。

将来的には、Google Maps APIと連携できれば…とは考えていますが、今はここまでにしてあります。

余談

お役所仕事ってどうしてこうなるんでしょうね…
民間のゲーム開発従事者としては下記のような点が非常に気になりました。

食事券の名称を分かりやすく呼びやすい名称に統一せよ

ブランディングにおいて一番重要なことだと思いますが、呼び方がバラバラだと世間に定着しません。誰しもが同じ言葉で同じものを想像できるように名称を統一するのは基本中の基本だと思います。

先述の通り、「Go To Eat」と「ゴールドステッカー飲食点応援事業」とでページが分かれていますし、何より後者は長すぎて呼びにくすぎます。
「Go To Eat」は国が言い出したことなので、大阪の独自性を出したかったのかもしれませんが、多分担当部門が別で担当者の仲が相当悪いんでしょう。普通の企業ならリダイレクトして同じページにまとめます。

500円券と1000円券を明確に区別できるデザインにせよ

食事券にはこの2種類があるのですが、ファミリーマートで印字するという仕様の限界か、台紙は同じ、デザインも同じで、「500円」「1000円」という印字の差でしか区別することができません。

普通の金券なら、金額の違いで色やデザインを変えて区別しやすくするのが当然ですが、見た目全く同じで印字された文字も小さいので、特にご年配の方が経営されているお店ではトラブルが多発しているのでは、と他人事ながら心配になります。
せめて何か「■■■■1000円■■■■」「☆☆☆☆500円☆☆☆☆」といった感じで、記号で修飾しておけばもう少し遠目にも認識しやすいのではと思います。

世の中にもっとUI/UXの考え方が浸透してくれることを願ってやみません。

この記事が気に入ったらサポートをしてみませんか?