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 = 110000radius = 50000# 每页记录数据offset = 100page = 1extensions = "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