用于查询google地图并获取结果URL的Python脚本
比如说我想在谷歌地图上搜索“白宫”。结果URL将为“”。我想用python来模拟这一点。我该怎么做呢?因此,理想情况下,我会传入“白宫”并打印出结果URL 我的最终目标是从地名中找到坐标 我想找到坐标 你可以这样刮它:用于查询google地图并获取结果URL的Python脚本,python,google-maps,Python,Google Maps,比如说我想在谷歌地图上搜索“白宫”。结果URL将为“”。我想用python来模拟这一点。我该怎么做呢?因此,理想情况下,我会传入“白宫”并打印出结果URL 我的最终目标是从地名中找到坐标 我想找到坐标 你可以这样刮它: import requests import ast def google_maps(req): req.replace(' ','+') uri = 'https://www.google.com/maps/place/' url = uri+re
import requests
import ast
def google_maps(req):
req.replace(' ','+')
uri = 'https://www.google.com/maps/place/'
url = uri+req
ret = requests.get(url).text
scrape = '['+ret.split('cacheResponse([[')[1].split(',[')[0].split(',',1)[1]
location = ast.literal_eval(scrape)
print location
google_maps('the white house')
>>>
[-77.0365298, 38.8976763]
要更好地了解请求返回的数据,可以执行以下操作:
print ret[:10000]
要获取开始第一次split()操作的前缀的前10000个字符,请执行以下操作:
cacheResponse([[
同样地:
google_maps('the pentagon')
>>>
[-77.0562669, 38.8718568]
google_maps('the golden gate bridge')
>>>
[-122.4782551, 37.8199286]
etc.
你可以使用请求,你到底想做什么?我有一组非常混乱的地址/地名,我想找到它们的坐标。maps API的地理编码部分被贬低了,所以这是我能想到的唯一解决方案of@lena你应该编辑你的问题,包括你的最终目标“坐标”,为什么这个答案不被接受?不再works@user30625如果您打印(ret),您将看到url不像以前那样返回位置数据;它不再有效。。。给定一个正确的url,该方法仍然有效:发出文本请求,根据需要拆分,并对刮取的对象进行文本求值。