使用python調用高德地圖的web服務

在使用高德地圖的web 服務之前,需要先註冊爲高德開發者 https://lbs.amap.com/api/webservice/summary/
註冊完畢後,進入控制檯可以看到如下界面:
在這裏插入圖片描述
點擊“應用管理–>我的應用–>創建新應用”
在這裏插入圖片描述
創建完畢之後,點擊加號(添加key)在這裏插入圖片描述
有了key之後,就可以使用高德提供的web服務了

以高德提供的“行政區查詢”功能爲例,首先我們訪問 https://lbs.amap.com/api/webservice/guide/api/district, 並閱讀相關內容,得到此web服務的核心內容如下:

目前高德提供的服務是唯一能讓用戶查詢到鄉鎮/街道級別信息且小時級更新數據的公開API。
例如:中國>山東省>濟南市>歷下區>舜華路街道(國>省>市>區>街道)。 使用說明 第一步,申請”Web服務API”密鑰(Key);
第二步,拼接HTTP請求URL,第一步申請的Key需作爲必填參數一同發送;
第三步,接收HTTP請求返回的數據(JSON或XML格式),解析數據。 如無特殊聲明,接口的輸入參數和輸出數據編碼全部統一爲UTF-8。

行政區域查詢API服務地址: https://restapi.amap.com/v3/config/district?parameters
具體parameters的內容請詳細閱讀該網頁 請求方式:GET

然後我們使用python來調用一下高德的web服務API

import urllib3
import string
from urllib.parse import quote

http = urllib3.PoolManager();

key = "*****52d36087cb49cdebc3da4a*****"   ## 通過前面步驟創建的key,key參數爲必需參數
keywords = "浙江"
output = "XML"                             ## 支持XML和JSON
url = quote(f"https://restapi.amap.com/v3/config/district?key={key}&keywords={keywords}&output={output}", safe = string.printable)

resp = http.request('GET', url)
print(resp.data.decode("utf-8"))

然後運行得到結果如下:

<?xml version="1.0" encoding="UTF-8"?>
<response><status>1</status><info>OK</info><infocode>10000</infocode><count>1</count><suggestion><keywords type="list"/><cities type="list"/></suggestion><districts type="list"><district><citycode></citycode><adcode>330000</adcode><name>浙江省</name><center>120.153576,30.287459</center><level>province</level><districts type="list"><district><citycode>0577</citycode><adcode>330300</adcode><name>溫州市</name><center>120.672111,28.000575</center><level>city</level><districts type="list"/></district><district><citycode>0574</citycode><adcode>330200</adcode><name>寧波市</name><center>121.549792,29.868388</center><level>city</level><districts type="list"/></district><district><citycode>0580</citycode><adcode>330900</adcode><name>舟山市</name><center>122.106863,30.016028</center><level>city</level><districts type="list"/></district><district><citycode>0573</citycode><adcode>330400</adcode><name>嘉興市</name><center>120.750865,30.762653</center><level>city</level><districts type="list"/></district><district><citycode>0576</citycode><adcode>331000</adcode><name>台州市</name><center>121.428599,28.661378</center><level>city</level><districts type="list"/></district><district><citycode>0578</citycode><adcode>331100</adcode><name>麗水市</name><center>119.921786,28.451993</center><level>city</level><districts type="list"/></district><district><citycode>0571</citycode><adcode>330100</adcode><name>杭州市</name><center>120.153576,30.287459</center><level>city</level><districts type="list"/></district><district><citycode>0575</citycode><adcode>330600</adcode><name>紹興市</name><center>120.582112,29.997117</center><level>city</level><districts type="list"/></district><district><citycode>0572</citycode><adcode>330500</adcode><name>湖州市</name><center>120.102398,30.867198</center><level>city</level><districts type="list"/></district><district><citycode>0570</citycode><adcode>330800</adcode><name>衢州市</name><center>118.87263,28.941708</center><level>city</level><districts type="list"/></district><district><citycode>0579</citycode><adcode>330700</adcode><name>金華市</name><center>119.649506,29.089524</center><level>city</level><districts type="list"/></district></districts></district></districts></response>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章