利用百度的开放平台进行操作

百度地图开放平台 | 百度地图API SDK | 地图开发

下拉至底部,点击Web服务API

 

 

 

 python 程序如下

import json
from urllib.request import urlopen, quote
import requests,csv
address=['南昌','九江','上饶','鹰潭','抚州','景德镇','吉安','萍乡','新余','宜春','赣州']
def getlnglat(address):
    url = 'http://api.map.baidu.com/geocoding/v3/'
    output = 'json'
    ak = '在百度平台申请的工作台的AK码' 
    add = quote(address) #quote进行编码,防止乱码中文乱码
    uri = url + '?' + 'address=' + add + '&output=' + output + '&ak=' + ak
    req = urlopen(uri)
    res = req.read().decode() #将其他编码的字符串解码成unicode
    temp = json.loads(res) #对json数据进行解析
    return temp

f = open('city.csv','w',encoding='utf-8',newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(["city", "lng", "lat"])
for i in address:
        lng = getlnglat(i)['result']['location']['lng'] #采用构造的函数来获取经度
        lat = getlnglat(i)['result']['location']['lat'] 
        str_temp = [i,lng,lat]
        csv_writer.writerow(str_temp) #写入文档
f.close()

 运行结果如下

 

 具体参数修改见百度地图API中的服务文档(见图2)

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐