一、打開網頁 http://lbsyun.baidu.com/index.php?title=首頁php
選擇功能與服務中的地圖,點擊左邊的獲取密匙,而後按照要求申請便可,須要手機和百度帳號及郵箱認證。python
激活後可看到後臺頁面,如今能夠開始建立應用了,這裏請求校驗方式有兩種,一種是白名單IP,另外一種是SN校驗(旁邊有計算的說明),我選擇SN校驗:json
成功後會得到本身的AK和SK,接下來講明如何計算snpython3.x
from urllib import parse import hashlib def get_urt(address): # 以get請求爲例http://api.map.baidu.com/geocoder/v2/?address=百度大廈&output=json&ak=你的ak queryStr = '/geocoder/v2/?address=%s&output=json&ak=你的ak' % address # 對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格式,以下api
{"status":0,"result":{"location":{"lng":116.50104690641698,"lat":39.79092147361288},"precise":1,"confidence":80,"level":"地產小區"}}