Python スクレイピング

【Python】GoogleMapをAPIを使って地図上の施設の詳細情報を取得する(続編)

この記事は約3分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です。

 

先日GoogleMAPのAPIを触っていて、位置情報を使わずに単語や電話番号で施設情報を検索したいなと思い、ライブラリの関数を調べていると、.find_place() という便利な関数があったのですが、使い方でちょっとハマったのでメモしておきます

 

 

初期設定

 

関連記事:【GCP】GoogleCloudPlatformでプロジェクトを作成してAPI鍵を作成&有効化する

関連記事:【Python】GoogleMapをAPIでスクレイピングして施設の詳細情報を取得する

関連記事:【Python】Google Places APIで20件以上の検索結果を取得する方法

 

 

import googlemaps 
key = '自分のAPI鍵' # 上記で作成したAPIキーを入れる
client = googlemaps.Client(key) #インスタンス生成

 

 

スポンサーリンク
スポンサーリンク

電話番号でGoogle MAP上の施設情報を検索する

 

r = client.find_place('+81 '+ <xxx-xxxx-xxxx>, 'phonenumber',language='ja') #電話番号で位置IDを検索
print(client.place(place_id=r['candidates'][0]['place_id'],language='ja'))

 

電話番号で検索する際は頭に国を識別する+081 を付けないといけないみたいです。最初これが分からなくて「INVALID_REQUEST」エラーを吐きまくって気がげんなりしました。

 

単語情報から施設情報を検索する

 

単純に単語から施設情報を検索する際はinput_typeを’textquery’に切り替えるだけです。idが取得できたらあとは.placeで詳細を取得するだけです。

 

r = client.find_place('澪標アナリティクス',  'textquery',language='ja') #電話番号で位置IDを検索
print(client.place(place_id=r['candidates'][0]['place_id'],language='ja'))

 

 

 

 

 

コメント

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