【Python】GoogleMapAPIを使って指定地点の郵便番号、住所、緯度経度を取得してみた

こんにちは、ヒガシです。

 

このページでは、Python上でGoogleMapAPIを操作し、指定した場所の郵便番号、緯度経度、住所を取得する方法をご紹介していきます。

 

googlemapsライブラリを使う方法とurllib.requestを使う方法の2通りで解説していきます。

 

それではさっそくやっていきましょう!

 

スポンサーリンク

googlemapsライブラリを使う方法

まずはじめにgooglemapsライブラリを使った方法をご紹介します。

まずは以下のコードが通るようにライブラリをインストールしておきましょう。

import googlemaps

pip installl googlemapsでインストール可能です。

 

準備が整ったらコーディングに入りましょう。

今回は、東京駅の情報を取得してみます。

googleapikey = "YOUR API KEY"
gmaps = googlemaps.Client(key=googleapikey)
address = '東京駅'
result = gmaps.geocode(address)
print("郵便番号:" + result[0]["address_components"][-1]["long_name"])
print("緯度経度:" + str(result[0]["geometry"]["location"]))
print("住所:" + result[0]['formatted_address'])

 

こいつを実行すると以下の結果が出力されました。

googlemapsライブラリを使って東京駅の情報を取得した結果

web版googlemapの結果と比較してみましたが、完璧に一致していました。

 

というわけで問題なくデータを取得できましたね。

 

スポンサーリンク

urllib.requestを使った場合

次はurllib.requestを使うパターンをご紹介します。

 

先ほど同様にまずはライブラリのインポートです。

import urllib.request
import urllib.parse
import json

 

こいつらはおそらく標準ライブラリなのでインストール不要で使えるはずです。

 

ではAPIを呼び出してみましょう。

googleapikey = "YOUR API KEY" 
url="https://maps.google.com/maps/api/geocode/json?address="
place = "東京駅"
place_url = urllib.parse.quote_plus(place, safe='=&')
response = urllib.request.urlopen(url + place_url + '&key=' + googleapikey).read()
data = json.loads(response)
print("郵便番号:" + data["results"][0]["address_components"][-1]["long_name"])
print("緯度経度:" + str(data["results"][0]["geometry"]["location"]))
print("住所:" + data["results"][0]['formatted_address'])

 

こいつを実行すると以下の結果が出力されました。

urlribライブラリを使って東京駅の情報を取得した結果

いうまでもなく先ほどと全く同じ結果が出力されました。

 

スポンサーリンク

おわりに

というわけで今回はPython上からGoogleMapAPIのgeocodeを使って東京駅の情報を抜き出すということをやってみました。

様々なアプリ開発に応用できそうですね。

 

今後もAPI関連でいろいろと遊んでみようと思います。

それではまた!

コメント

タイトルとURLをコピーしました