我想通过使用python 3.5获取伦敦的所有餐厅,使用Google Places API获取模块googleplaces
。我在这里阅读了googleplaces
文档并进行了搜索,但是我没有得到它。到目前为止,这是我的代码:
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 :(得分:4)
如果您放弃keyword
参数,types
已经搜索了餐馆,那会更好。
请记住Places API(与其他Google Maps API一样)不是数据库,它不会返回所有匹配的结果。实际上只返回20,你可以得到额外的40左右,但就是这样。
如果我正确阅读GooglePlaces,您的代码将发送API请求,例如:
如果你只删除keyword
参数,它就像是:
差异很微妙:keyword=Restaurants
会使API匹配结果,在其名称,地址等中包含“餐馆”一词。其中一些可能不是餐馆(并将被丢弃),而另一些实际的餐馆可能没有“餐馆”这个词。
答案 1 :(得分:1)
尝试按纬度和经度更改城市价值,并且没有必要放置关键字,因为您已指定在类型上尝试将此代码设置为适合我:
query_result = google_places.nearby_search(
lat_lng={'lat': 46.1667, 'lng': -1.15},
radius=5000,
types=[types.TYPE_RESTAURANT] or [types.TYPE_CAFE] or [type.TYPE_BAR] or [type.TYPE_CASINO])
答案 2 :(得分:0)
唯一缺少的是错误提示,括号()。您的代码应为
if query_result.has_attributions:
print (query_result.html_attributions)