python通过百度地图API获取某地址的经纬度详解


Posted in Python onJanuary 28, 2018

前言

这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的,本文将给大家详细的介绍关于python通过百度地图API获取某地址的经纬度的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

申请百度API

1、打开网页 http://lbsyun.baidu.com/index.php?title=首页

选择功能与服务中的地图,点击左边的获取密匙,然后按照要求申请即可,需要手机和百度账号及邮箱认证。

python通过百度地图API获取某地址的经纬度详解

python通过百度地图API获取某地址的经纬度详解

激活后可看到后台页面,现在可以开始创建应用了,这里请求校验方式有两种,一种是白名单IP,另一种是SN校验(旁边有计算的说明),我选择SN校验:

python通过百度地图API获取某地址的经纬度详解

成功后会获得自己的AK和SK,接下来说明如何计算sn

计算SN(python3.x) 

from urllib import parse
import hashlib 
def get_urt(addtress): 
 # 以get请求为例http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=你的ak
 queryStr = '/geocoder/v2/?address=%s&output=json&ak=你的ak' % addtress 
 # 对queryStr进行转码,safe内的保留字符不转换
 encodedStr = parse.quote(queryStr, safe="/:=&?#+!$,;'@()*[]") 
 # 在最后直接追加上yoursk
 rawStr = encodedStr + '你的sk' 
 #计算sn
 sn = (hashlib.md5(parse.quote_plus(rawStr).encode("utf8")).hexdigest())  
 #由于URL里面含有中文,所以需要用parse.quote进行处理,然后返回最终可调用的url
 url = parse.quote("http://api.map.baidu.com"+queryStr+"&sn="+sn, safe="/:=&?#+!$,;'@()*[]")  
 return url

该url可直接进行进行访问,返回的是json格式,如下

{"status":0,"result":{"location":{"lng":116.50104690641698,"lat":39.79092147361288},"precise":1,"confidence":80,"level":"地产小区"}}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
Pycharm设置界面全黑的方法
May 23 Python
python实现汽车管理系统
Nov 30 Python
详解用Python实现自动化监控远程服务器
May 18 Python
Python 实现交换矩阵的行示例
Jun 26 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
如何在python中执行另一个py文件
Apr 30 Python
python微信智能AI机器人实现多种支付方式
Apr 12 Python
 python中的元类metaclass详情
May 30 Python
python中的随机函数小结
Jan 27 #Python
python中的随机函数random的用法示例
Jan 27 #Python
Python闭包之返回函数的函数用法示例
Jan 27 #Python
详解如何利用Cython为Python代码加速
Jan 27 #Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 #Python
Python实现的栈(Stack)
Jan 26 #Python
使用python实现链表操作
Jan 26 #Python
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
document.createElement()用法
2013/03/13 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
JS随机密码生成算法
2019/09/23 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
改进Django中的表单的简单方法
2015/07/17 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
求职信范文怎么写
2014/01/29 职场文书
协议书模板
2014/04/23 职场文书
个人承诺书格式
2014/06/03 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Nginx跨域问题解析与解决
2022/08/05 Servers