You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python爬取Google Maps时如何提取经纬度对应地点名称

谷歌地图经纬度链接地点名提取方案

你定位到的地点名称元素不要用动态的jstcache属性做定位依据,这类属性是谷歌前端渲染时随机生成的,版本更新后值会变,稳定性极差,直接用元素固定的class属性定位即可。

Selenium 定位提取(适配Selenium+Chrome爬取逻辑)

必须等页面异步渲染完成后再查找元素,否则会触发元素不存在的报错,用显式等待做加载判断最稳妥:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 打开带经纬度的谷歌地图链接后,等待地点名元素加载,最长等待时长设为10秒
location_name_element = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.CLASS_NAME, "DkEaL"))
)
# 提取标签内文本并去除首尾空白字符
location_name = location_name_element.text.strip()

执行后location_name变量存储的就是你需要的纯地点名文本,对应示例值为Labateca, Norte de Santander。

注意:如果页面加载后存在多个同class元素,可向上定位到地点信息卡片的父节点后再查找子元素,避免匹配到其他无关内容。

BeautifulSoup 解析提取

如果你是拿到页面完整源码后用BeautifulSoup解析,直接按class查找对应标签即可:

from bs4 import BeautifulSoup

# 传入Selenium拿到的页面源码做解析
soup = BeautifulSoup(driver.page_source, "html.parser")
location_name_tag = soup.find("span", class_="DkEaL")
if location_name_tag:
    location_name = location_name_tag.get_text(strip=True)

常见踩坑提示

  • 带经纬度的谷歌地图链接打开后,地点名称是接口异步返回渲染的,不要刚打开页面就立刻查找元素,必须等加载完成
  • 不要用XPath按文本内容或者jstcache属性写定位规则,这类规则失效概率极高

内容的提问来源于stack exchange,提问作者juan escorcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 12:54:33