Python获取高德地图API批量数据,支持输入导出
制作一套整合高德多个API的程序,目标是接收用户输入地址,最后得到该地点附近5公里内的所有搜索目标详细信息。
例:城市:上海,地址:东方明珠,搜索关键词:游泳馆
获取地址坐标
获取地址附近目标详细信息
可以获取该地点附近的所有“游泳池”的地址、联系方式、商家类型等信息
结果保存到本地Excel
上代码
import requests
url = "https://restapi.amap.com/v3/xxxx/xxxx?xxxx"
key = "xxxxx"
location = "xxxxx,yyyyy"
keywords = "游泳馆"
# POI类型
types = ""
city = 110000
radius = 50000
# 每页记录数据
offset = 100
page = 1
extensions = "all"
params = {
"key": key,
"location": location,
"keywords": keywords,
"city": city,
"radius": radius,
"offset": offset,
"page": page,
"extensions": extensions
}
response = requests.get(url=url, params=params)
print(response.status_code)
print(response.json())
pois_list = response.json().get("pois")
print(f'size of pois_list === {len(pois_list)}')
for item in pois_list:
res_dict = {
'keywords': keywords,
'type': item.get('type'),
'adname': item.get('adname'),
'address': item.get('address'),
'name': item.get('name'),
'tel': item.get('tel'),
}
print(res_dict)
url = "https://restapi.amap.com/v3/xxxx/xxxx"
key = "xxxxx"
address = "东方明珠"
city = "上海"
params = {
"key": key,
"city": city,
"address": address,
}
response = requests.get(url=url, params=params)
print(response.status_code)
res_code = str(response.json().get("status"))
print(res_code)
if response.status_code == 200 and res_code == '1':
geocodes = response.json().get("geocodes")
print(f'size of geocodes === {len(geocodes)}')
for item in geocodes:
res_dict = {
'country': item.get('xxxx'),
xxxx
'number': item.get('xxx'),
'location': item.get('xxx'),
}
print(res_dict)
THE END