写一段爬虫代码,例如在高德地图中爬取江苏省盱眙县的校园区,居民区,公司的数据
时间: 2024-04-17 14:29:33 浏览: 96
高德地图矢量爬取软件(建筑、路网、兴趣点、路况).rar
5星 · 资源好评率100%
以下是一个使用 Python 和 requests 库编写的简单爬虫代码,用于从高德地图中爬取江苏省盱眙县的校园区、居民区和公司的数据:
```python
import requests
def crawl_amap_data():
# 构造请求 URL
url = "https://restapi.amap.com/v3/place/text"
# 需要替换为你的高德地图开发者密钥
key = "your_amap_api_key"
# 设置请求参数
params = {
"key": key,
"keywords": "校园|居民区|公司",
"city": "盱眙县",
"citylimit": True,
"offset": 20, # 每页返回的结果数量
"page": 1 # 请求的页码
}
# 发送 GET 请求
response = requests.get(url, params=params)
# 解析响应数据
data = response.json()
# 检查请求是否成功
if data["status"] == "1":
# 获取总的结果数量
total_count = int(data["count"])
if total_count > 0:
pois = data["pois"]
for poi in pois:
name = poi["name"]
location = poi["location"]
address = poi["address"]
print(f"名称:{name},坐标:{location},地址:{address}")
# 判断是否还有更多结果需要获取
if total_count > params["offset"]:
params["page"] += 1
crawl_amap_data() # 递归调用,获取下一页数据
else:
print("请求失败")
# 执行爬虫
crawl_amap_data()
```
在代码中,你需要将 `your_amap_api_key` 替换为你在高德地图开发者平台申请的 API 密钥。代码会发送请求并解析响应数据,提取出校园区、居民区和公司的名称、坐标和地址,并打印输出。如果结果数量超过每页返回的结果数量,代码会自动获取下一页的数据。请确保你遵守高德地图开发者平台的使用规定,并合法使用该爬虫代码。
阅读全文