这不在受支持的库下: https://developers.google.com/api-client-library/python/reference/supported_apis
它不适用于Python吗?如果没有,可以使用哪种语言?
答案 0 :(得分:8)
Andre的答案指出您在正确的位置引用API。由于您的问题是特定于python的,因此请允许我向您展示在python中构建提交的搜索URL的基本方法。在您注册Google的免费API密钥后的几分钟内,此示例将帮助您一直搜索内容。
ACCESS_TOKEN = <Get one of these following the directions on the places page>
import urllib
def build_URL(search_text='',types_text=''):
base_url = 'https://maps.googleapis.com/maps/api/place/textsearch/json' # Can change json to xml to change output type
key_string = '?key='+ACCESS_TOKEN # First think after the base_url starts with ? instead of &
query_string = '&query='+urllib.quote(search_text)
sensor_string = '&sensor=false' # Presumably you are not getting location from device GPS
type_string = ''
if types_text!='':
type_string = '&types='+urllib.quote(types_text) # More on types: https://developers.google.com/places/documentation/supported_types
url = base_url+key_string+query_string+sensor_string+type_string
return url
print(build_URL(search_text='Your search string here'))
此代码将构建并打印一个URL,搜索您在最后一行中放置的内容,替换&#34;您的搜索字符串在这里&#34;。您需要为每次搜索构建其中一个URL。在这种情况下,我打印了它,以便您可以将其复制并粘贴到浏览器地址栏中,这将使您返回(在浏览器中)JSON文本对象,就像您的程序提交时一样。 URL。我建议使用python 请求库来获取程序中的内容,只需获取返回的URL并执行此操作即可:
response = requests.get(url)
接下来,您需要解析返回的响应JSON,您可以通过使用 json 库进行转换(例如,查找json.loads)。通过json.loads运行该响应后,您将获得一个包含所有结果的精美python字典。您还可以将该返回(例如,从浏览器或保存的文件)粘贴到online JSON viewer中,以便在编写代码时了解结构,以访问json.loads中出现的字典。
如果部分内容尚未明确,请随时发布更多问题。
答案 1 :(得分:3)
有人为API编写了一个包装器:https://github.com/slimkrazy/python-google-places
基本上它只是带有JSON响应的HTTP。通过JavaScript访问更容易,但使用urllib
和json
库连接到API也很容易。
答案 2 :(得分:1)
def build_URL(search_text='',types_text=''):
base_url = 'https://maps.googleapis.com/maps/api/place/textsearch/json'
key_string = '?key=' + ACCESS_TOKEN
query_string = '&query=' + urllib.parse.quote(search_text)
type_string = ''
if types_text != '':
type_string = '&types='+urllib.parse.quote(types_text)
url = base_url+key_string+query_string+type_string
return url
更改是urllib.quote更改为urllib.parse.quote并且传感器已被删除,因为谷歌正在弃用它。