LoginSignup
8
7

More than 5 years have passed since last update.

任意の位置情報によるGoogle検索結果を取得するサービスを作ってみた

Last updated at Posted at 2018-12-26

成果物

開発動機

社内マーケティングマネージャーからのありがたいお言葉。

「指定した位置情報での検索結果を取得したいんですよー。」
「もともとそういうツールあったけどなんか知らないけどぶっ壊れちゃってー。」
「外注に見積もり出したらXX万円て言われてー。」
「だから作って?」

やったこと

  • 検索結果パラメーターの解析(お言葉くれた人がすでに解析してた
  • パラメーターの自動生成(PHP)
  • 検索結果の表示(JavaScript)

簡単に解説

位置情報を指定しているパラメーターは「uule」なので、このValueを生成できればいい。
ここでは香川県での検索結果を取得するものとする。

  1. AdWords APIのGeotargetsにアクセス
  2. Name「kagawa」でフィルタリングして、出てきたCanonical Name「Kagawa Prefecture,Japan」をメモメモ
  3. ここから文字列の長さを取得(23だった)
  4. そしてここの表と照らし合わせると「23」は「X」
  5. んでもってここで「Kagawa Prefecture,Japan」をUTF-8のbase64エンコード
  6. 出てきた文字列は「S2FnYXdhIFByZWZlY3R1cmUsSmFwYW4=」
  7. 今まで出てきた結果の頭に「w+CAIQICI」をくっつけて連結!(w+CAIQICI | X | S2FnYXdhIFByZWZlY3R1cmUsSmFwYW4=)
  8. 完成したパラメーターは「uule=w+CAIQICIXS2FnYXdhIFByZWZlY3R1cmUsSmFwYW4=」となる

こうして出来上がったパラメーターを検索結果URLに付与すると・・・?

普通に検索
https://www.google.com/search?q=うどん

パラメーター付与
https://www.google.com/search?q=うどん&uule=w+CAIQICIXS2FnYXdhIFByZWZlY3R1cmUsSmFwYW4=

変わった・・・!

フッターの位置情報を見ると、ちゃんと「香川県」になってる。

まとめ

というわけでうん万円の外注費が浮き、マネージャーの要望に答えることができたとさ。
サービスの方は上の解説を全部自動化(地域名日本語化)したり、他のパラメーター加えてたりします。はい。

最近はWeb制作よりこういうことやってる方が楽しくなってきて、自分は一体どこに向かってるんだろうと悩むことがあったりなかったり。

参考

8
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7