<kbd id='woaibaidu'></kbd><address id='woaibaidu'><style id='woaibaidu'></style></address><button id='woaibaidu'></button>

          当前位置:主页 > 脚本专栏 > python >
            python通过百度地图API获取某地址的经纬度详解
            2018-01-29 22:14 发布 次浏览

          前言

          这几天比拟闲暇,就接触了下百度舆图的API(开发者中心链接地址:http://developer.baidu.com),发现挪用照旧挺利便的,本文将给各人详细的引见关于python经过百度舆图API获得某地址的经纬度的相干内容,分享出来供各人参考学习,上面话不多说了,来一同看看详细的引见吧。

          请求百度API

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

          选择功用与效劳中的舆图,点击右边的获得密匙,然后依照要求请求便可,需求手机和百度账号及邮箱认证。

          激活后可看到后台页面,如今可以开端创立使用了,这里恳求校验方式有两种,1种是白名单IP,另外一种是SN校验(旁边有盘算的阐明),我选择SN校验:

          乐成后会取得本人的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":"地产小区"}}

          总结

          以上就是这篇文章的全部内容了,希望本文的内容对各人的学习或许任务具有1定的参考学习价值,假如有疑问各人可以留言交换,谢谢各人对聚合网的支持。