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

如何使用Python爬取Canvas地图鼠标悬停才显示的HTML页面数据

解决方案
  • 你遇到的核心问题是这个地图用<canvas>元素渲染,所有图形、文字都是直接绘制在位图上的,没有对应的独立DOM节点,所以你用BeautifulSoup解析DOM、Selenium找元素XPath的方式自然找不到目标内容。
  • 优先推荐直接抓后端返回的源数据,比操作页面简单太多:打开浏览器开发者工具的「网络」面板,刷新页面后过滤Fetch/XHR类型的请求,很快就能找到返回所有社区地理边界、指标分级(Low/Medium/High)、社区名称、各项污染数值的JSON接口,直接用Python的requests库请求这个接口拿原始数据就行,完全不需要处理任何页面交互。
  • 如果你确实需要走模拟页面交互的方案:
    1. 鼠标悬停弹出的提示框是独立的DOM元素,你可以先手动把鼠标放在地图上弹出提示,再用开发者工具的元素选择器直接点这个弹窗,就能查到它的CSS选择器/XPath,这类弹窗的class一般会带tooltip、popup这类关键词。
    2. 用Selenium的ActionChains模块,按坐标遍历canvas上的每个社区区域,触发悬停后抓取弹窗里的文本内容,同时可以通过读取对应坐标的canvas像素色值判断颜色分级。
  • 拿到所有数据后,用pandas把数据整理成你需要的表头结构,直接调用to_excel()或者to_csv()方法就能导出成符合要求的电子表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:36:03