python通過百度地圖API獲取某地址的經(jīng)緯度詳解
前言
這幾天比較空閑,就接觸了下百度地圖的API(開發(fā)者中心鏈接地址:http://developer.baidu.com),發(fā)現(xiàn)調用還是挺方便的,本文將給大家詳細的介紹關于python通過百度地圖API獲取某地址的經(jīng)緯度的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
申請百度API
1、打開網(wǎng)頁 http://lbsyun.baidu.com/index.php?title=首頁
選擇功能與服務中的地圖,點擊左邊的獲取密匙,然后按照要求申請即可,需要手機和百度賬號及郵箱認證。


激活后可看到后臺頁面,現(xiàn)在可以開始創(chuàng)建應用了,這里請求校驗方式有兩種,一種是白名單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":"地產(chǎn)小區(qū)"}}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
python中pytest收集用例規(guī)則與運行指定用例詳解
這篇文章主要介紹了python中pytest收集用例規(guī)則與運行指定用例詳解,天會講解一下pytest是如何收集我們寫好的用例?我們又有哪些方式來運行單個用例或者批量運行用例呢,需要的朋友可以參考下2019-06-06
Python 數(shù)據(jù)處理更容易的12個輔助函數(shù)總結
Python的產(chǎn)生似乎就是專門用來處理數(shù)據(jù)的,順理成章的成為大數(shù)據(jù)的主流語言,本文介紹十二個函數(shù)輔助你更容易更便捷的用Python進行數(shù)據(jù)處理2021-11-11
PyQT中QTableWidget如何根據(jù)單元格內容設置自動寬度
這篇文章主要介紹了PyQT中QTableWidget如何根據(jù)單元格內容設置自動寬度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05

