Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于查询google地图并获取结果URL的Python脚本_Python_Google Maps - Fatal编程技术网

用于查询google地图并获取结果URL的Python脚本

用于查询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

比如说我想在谷歌地图上搜索“白宫”。结果URL将为“”。我想用python来模拟这一点。我该怎么做呢?因此,理想情况下,我会传入“白宫”并打印出结果URL

我的最终目标是从地名中找到坐标

我想找到坐标

你可以这样刮它:

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,该方法仍然有效:发出文本请求,根据需要拆分,并对刮取的对象进行文本求值。