如何用Python Selenium获取地图全球坐标并计算房屋到地铁站距离
获取房屋全球坐标的可行方法
以下是针对该网站获取房屋经纬度的几种实用方法:
检查页面内嵌脚本数据
直接查看页面源代码(Ctrl+U),搜索包含latitude、longitude、lat、lng的关键词。这类房源网站通常会在页面的<script>标签里存储房源核心数据,比如可能存在类似window.propertyDetails = { ..., lat: 37.9838, lng: 23.7275, ... }的结构,直接提取这里的数值即可。分析网络请求获取API数据
打开浏览器开发者工具(F12)切换到「Network」标签,刷新页面后过滤「XHR/Fetch」类型的请求。查找与房源ID(1112580220)相关的请求,这类请求的响应通常是JSON格式,里面会明确包含房屋的经纬度信息,无需处理Leaflet的局部坐标。直接从Leaflet地图实例提取坐标
在浏览器控制台执行以下操作:- 先找到页面中的Leaflet地图实例,通常全局变量名为
map,或者可以通过document.querySelector('.leaflet-map')._map获取。 - 执行代码提取标记的坐标:
// 过滤出地图上的标记图层 const markers = Object.values(map._layers).filter(layer => layer instanceof L.Marker); // 获取第一个标记的经纬度(房屋位置) const houseLatLng = markers[0].getLatLng(); console.log(houseLatLng.lat, houseLatLng.lng);
执行后就能直接得到房屋的全球经纬度坐标。
- 先找到页面中的Leaflet地图实例,通常全局变量名为
注意:以上方法中,优先通过页面脚本或API请求获取数据,这两种方式比从地图实例提取更稳定,不易受页面结构变化影响。
内容的提问来源于stack exchange,提问作者user3836267
相关产品推荐
相关产品推荐

