如何通过网页抓取从地图格式提取充电站数据并导出为Excel?
单个充电站详情导出为Excel
手动快速方案
直接选中页面上的充电站详情(比如地址、充电桩规格、运营时间等字段内容),按Ctrl+C复制,然后打开Excel,选中对应单元格按Ctrl+V粘贴,再手动调整列宽和字段对应关系即可,适合少量单条数据的场景。
半自动方案(利用开发者工具)
- 打开目标页面后,按
F12调出开发者工具,切换到「Elements」标签,找到包含充电站详情的DOM节点(通常是带特定类名的<div>或<section>)。 - 右键该节点,选择「Copy」→「Copy JSON」(主流浏览器基本支持该功能)。
- 将复制的JSON内容粘贴到文本编辑器,保存为
station_data.json文件。 - 用Python的
pandas库转成Excel:
import pandas as pd # 读取JSON文件 data = pd.read_json('station_data.json') # 导出为Excel data.to_excel('station_details.xlsx', index=False)
从地图格式批量提取数据
该网站的地图数据是通过后台接口动态加载的,可按以下步骤抓取:
- 打开页面后按
F12进入开发者工具,切换到「Network」标签,刷新页面。 - 在「XHR/fetch」分类下,找名称包含
stations或locations的请求,查看「Response」标签确认返回的是充电站列表的JSON数据。 - 复制该请求的URL和必要请求头,用Python的
requests库批量获取数据:
import requests import pandas as pd # 替换为你找到的实际接口URL api_url = "https://xxx.xxx/stations" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } response = requests.get(api_url, headers=headers) stations_data = response.json() # 转成DataFrame并导出Excel df = pd.DataFrame(stations_data) df.to_excel('area_stations.xlsx', index=False)
注意:抓取前要确认网站的使用条款和robots.txt协议,确保你的研究用途合规,同时避免频繁请求触发反爬限制。
内容的提问来源于stack exchange,提问作者Mike Ronin
相关产品推荐
相关产品推荐

