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

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

微信公众号:统计之家

在爬虫之前,了解下百度地图API。

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

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

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

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

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

import requests

import json

url = 'http://api.map.baidu.com/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)

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值