关键词爬取高德poi
时间: 2025-07-04 11:14:44 浏览: 11
### 使用API或爬虫技术从高德地图获取POI数据的方法
为了高效且合规地获取高德地图上的POI(兴趣点)数据,可以采用官方提供的Web服务API接口。具体操作流程如下:
#### API调用准备
在开始之前,需先注册成为开发者并申请相应的API Key[^1]。
#### 构建请求URL
构建用于查询POI的GET请求链接时,应指定必要参数如关键词、城市名称等。例如,要查找南京市内的医院信息,则可设置`keywords=医院&city=南京`作为查询条件之一[^2]。
```python
import requests
def fetch_poi_data(api_key, keyword="医院", city="南京"):
base_url = "https://restapi.amap.com/v3/place/text"
params = {
'key': api_key,
'keywords': keyword,
'city': city,
'output': 'json',
'page': 1,
'offset': 20
}
response = requests.get(base_url, params=params).json()
return response['pois']
```
此函数会返回符合条件的一批POI记录列表。注意每次请求最多能获得20条结果;如果总数超过该数目,则需要调整页面编号(`page`)来继续抓取剩余部分。
#### 数据保存至CSV文件
对于每一批次取得的结果集,建议将其转换成易于后续分析的形式——比如CSV表格形式存储起来以便进一步加工处理。
```python
import pandas as pd
data_list = []
for poi in pois:
data_dict = {}
data_dict["name"] = poi.get('name')
data_dict["location"] = f"{poi.get('location').split(',')[1]}, {poi.get('location').split(',')[0]}"
data_dict["address"] = poi.get('address', '')
data_list.append(data_dict)
df = pd.DataFrame(data_list)
df.to_csv('./nanjing_hospitals.csv', index=False, encoding='utf_8_sig')
```
上述代码片段展示了如何将单页POI响应转化为DataFrame对象,并最终导出到本地磁盘上名为`nanjing_hospitals.csv`的文件中去。
#### 合理规划请求频率与数量
考虑到服务商设定的日访问量限额等因素影响,在实际开发过程中务必遵循良好实践原则合理安排任务执行计划,避免因过度频繁请求而触发限流机制或者超出免费配额限制造成额外成本支出[^3]。
阅读全文
相关推荐


















