python爬取全国主要城市经纬度
程序员文章站
2022-03-27 13:59:45
文章目录1.申请百度API服务密钥2.python代码实验结果1.申请百度API服务密钥进入百度地图开放平台http://lbsyun.baidu.com/先登录,打开控制台,进入我的应用创建应用IP白名单填写0.0.0.0/0提交后可以在我的应用找到访问密钥2.python代码代码如下(示例):# -*- coding: utf-8 -*-import jsonfrom urllib.request import urlopen, quoteimport requests,...
文章目录
1.申请百度API服务密钥
进入百度地图开放平台http://lbsyun.baidu.com/
先登录,打开控制台,进入我的应用
创建应用
提交后可以在我的应用找到访问密钥
2.python代码
代码如下(示例):
# -*- coding: utf-8 -*-
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 = '' #'你申请的密钥***'
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()
最后结果
本文地址:https://blog.****.net/qq_44809707/article/details/110295465