2016-08-24 287 views
2

我想通過使用python 3.5和模塊googleplaces以及Google Places API來獲得倫敦的所有餐館。我讀了googleplaces文檔並在這裏搜索,但我不明白。這裏是我的代碼到目前爲止:Python和Google Places API |想要在特定的位置獲得所有餐廳

from googleplaces import GooglePlaces, types, lang 

API_KEY = 'XXXCODEXXX' 

google_places = GooglePlaces(API_KEY) 

query_result = google_places.nearby_search(
    location='London', keyword='Restaurants', 
    radius=1000, types=[types.TYPE_RESTAURANT]) 

if query_result.has_attributions: 
print query_result.html_attributions 


for place in query_result.places: 
    place.get_details() 
    print place.rating 

該代碼不起作用。我能做些什麼來獲得該地區所有餐館的名單?

+0

運行代碼時發生了什麼?你是否有任何錯誤,或者是什麼? – Harrison

+0

對不起。我忘記了這些信息。我得到這個錯誤:IndentationError:在調用'print'時缺少圓括號。 –

+0

有人可以幫助我嗎? –

回答

2

如果您放棄keyword參數,types已經搜索到餐館,那會更好。

請注意Places API(與其他Google Maps API一樣)不是數據庫,它不會返回所有匹配的結果。實際上只返回20個,你可以額外獲得40個左右,但僅此而已。

如果我正確地讀GooglePlaces,你的代碼將發送一個API請求等類

http://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.507351,-0.127758&radius=1000&types=restaurant&keyword=Restaurants&key=YOUR_API_KEY

如果你剛落keyword參數,它會像:

http://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.507351,-0.127758&radius=1000&types=restaurant&key=YOUR_API_KEY

區別很微妙:keyword=Restaurants將使API匹配結果的名稱,地址等中包含「Restaurants」字樣。這些可能不是餐館(並且將被丟棄),而一些實際的餐館可能沒有「餐館」一詞。

相關問題