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

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


成果物

https://apps.yuking11.net/gms/


開発動機

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

「指定した位置情報での検索結果を取得したいんですよー。」

「もともとそういうツールあったけどなんか知らないけどぶっ壊れちゃってー。」

「外注に見積もり出したら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制作よりこういうことやってる方が楽しくなってきて、自分は一体どこに向かってるんだろうと悩むことがあったりなかったり。


参考

https://seopt.pw/slog/title/位置情報から検索結果を取得する際のハッカー小話/

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)