Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

成果物

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/位置情報から検索結果を取得する際のハッカー小話/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした