python爬取地图上的经纬度_Python调用百度地图API爬取经纬度
作者:國服帥座? 經濟學在讀碩士
微信公眾號:統計之家
你吃肯德基,我點麥當勞。本是替代品,卻眾口難調。每個人都有獨特的偏好,都有一份要堅守的情懷。高德與百度,你心儀哪款呢?
認識百度地圖API
百度與高德在地理編碼API上的主要差異,個人歸納如下:a、二者體系獨立,所得的經緯度數據略有不同
b、百度默認輸出格式為xml,而高德默認輸出格式為json
c、高德經緯度數據是連著的,用逗號隔開;百度經度與緯度是分別顯示的
進入百度地圖開放平臺,點擊“開發文檔”,點擊“Web服務API”,點擊“地理編碼”。
與高德地圖API類似,百度地圖API中也存在一些參數,地理編碼必須要有的參數有兩個:百度密鑰(ak)和地址(address)。另外,作者希望輸出的格式是json的,因而output參數也應當關注。
爬取單個數據import requestsimport jsonurl = '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)
觀察可得,在數值上,小數點后第二位開始出現差異;在形式上,經緯度是否分別輸出也有差異。至于經緯度究竟是分開好,還是連著好,其實不用太糾結,各自都有用得著的地方。
整合為函數
在整合為函數后,再把啟東市作為自變量代入,檢查函數是否正確,確認無誤。
for循環批量處理
總結
以上是生活随笔為你收集整理的python爬取地图上的经纬度_Python调用百度地图API爬取经纬度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 静态方法什么时候执行?_面试官:知道类在
- 下一篇: python调用dll函数_从Pytho