100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python爬取地图上的经纬度_Python调用百度地图API爬取经纬度

python爬取地图上的经纬度_Python调用百度地图API爬取经纬度

时间:2023-09-08 09:03:41

相关推荐

python爬取地图上的经纬度_Python调用百度地图API爬取经纬度

作者:国服帅座 经济学在读硕士

微信公众号:统计之家

你吃肯德基,我点麦当劳。本是替代品,却众口难调。每个人都有独特的偏好,都有一份要坚守的情怀。高德与百度,你心仪哪款呢?

认识百度地图API

百度与高德在地理编码API上的主要差异,个人归纳如下:a、二者体系独立,所得的经纬度数据略有不同

b、百度默认输出格式为xml,而高德默认输出格式为json

c、高德经纬度数据是连着的,用逗号隔开;百度经度与纬度是分别显示的

进入百度地图开放平台,点击“开发文档”,点击“Web服务API”,点击“地理编码”。

与高德地图API类似,百度地图API中也存在一些参数,地理编码必须要有的参数有两个:百度密钥(ak)和地址(address)。另外,作者希望输出的格式是json的,因而output参数也应当关注。

爬取单个数据import requestsimport jsonurl = 'http://api./geocoder/v2/'params = { 'address' : '启东市',# 以江苏省启东市为例

'ak' : '你的百度密钥', # 百度密钥

'output': 'json' } # 输出结果设置为json格式res = requests.get(url,params)res.text

接下来,我们要做的是,将json格式转化为Python字典格式,方便提取。jd = json.loads(res.text) # 将json格式转化为Python字典jd

经纬度就在字典里面,让我们根据键来取值吧。coords = jd['result']['location']coords

这便是百度地图显示的启东市经度与纬度,上文中用高德爬取的启东市经纬度数据如下(见上文最后一张图):(121.657441, 31.808026)

观察可得,在数值上,小数点后第二位开始出现差异;在形式上,经纬度是否分别输出也有差异。至于经纬度究竟是分开好,还是连着好,其实不用太纠结,各自都有用得着的地方。

整合为函数

在整合为函数后,再把启东市作为自变量代入,检查函数是否正确,确认无误。

for循环批量处理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。