Python SDK調用方法及示例。
獲取SDK
# 安裝阿里云 SDK 核心庫
pip install aliyun-python-sdk-core
# 安裝地址標準化SDK
pip install aliyun-python-sdk-address-purification
配置環境變量
阿里云SDK支持通過定義ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
環境變量來創建默認的訪問憑證。調用接口時,程序直接訪問憑證,讀取您的訪問密鑰(即AccessKey)并自動完成鑒權。
重要
阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維,避免AccessKey泄露。
配置方法
配置環境變量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
。
Linux和macOS系統配置方法
執行以下命令:
export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
<access_key_id>
需替換為已準備好的AccessKey ID,<access_key_secret>
替換為AccessKey Secret。Windows系統配置方法
新建環境變量,添加環境變量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并寫入已準備好的AccessKey ID和AccessKey Secret。重啟Windows系統。
地址抽取
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.ExtractAddressRequest import ExtractAddressRequest
from aliyunsdkcore.client import AcsClient
# 地址抽取服務測試
def extract_address():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = ExtractAddressRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市文一西路969號")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
extract_address()
返回示例
{
"location_extract":[
{
"start":0,
"end":11,
"type":"LOC",
"word":"杭州市文一西路969號"
}
],
"status":"OK",
"time_used":{
"rt":{
"location_extract":0.0062503814697265625
},
"start":1669169268.4418545
}
}
姓名抽取
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.ExtractNameRequest import ExtractNameRequest
from aliyunsdkcore.client import AcsClient
# 姓名抽取服務測試
def extract_name():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = ExtractNameRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("張三和李四來到了阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
extract_name()
返回示例
{
"person_extract":[
{
"start":0,
"end":2,
"type":"PER",
"word":"張三"
},
{
"start":3,
"end":5,
"type":"PER",
"word":"李四"
}
],
"status":"OK",
"time_used":{
"rt":{
"person_extract":0.006942272186279297
},
"start":1669169781.5687082
}
}
電話號碼抽取
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.ExtractPhoneRequest import ExtractPhoneRequest
from aliyunsdkcore.client import AcsClient
# 電話號碼抽取服務測試
def extract_phone():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = ExtractPhoneRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("張三的新手機號是18111111111")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
extract_phone()
返回示例
{
"phone_extract":[
{
"start":8,
"end":19,
"type":"TEL",
"word":"18111111111"
}
],
"status":"OK",
"time_used":{
"rt":{
"phone_extract":0.007189273834228516
},
"start":1669169745.738215
}
}
行政區劃解析
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetAddressDivisionCodeRequest import GetAddressDivisionCodeRequest
from aliyunsdkcore.client import AcsClient
# 行政區劃解析服務測試
def get_address_division_code():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetAddressDivisionCodeRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("張三的新手機號是18111111111")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_address_division_code()
返回示例
{
"division_info":{
"divcode":"330110000000",
"division_name":"浙江省;杭州市;余杭區;"
},
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.01677703857421875,
"division_info":0.005695819854736328,
"segment":0.00038433074951171875,
"address_correct":0.003169536590576172,
"complete":0.00007987022399902344,
"structure":0.00007891654968261719
},
"start":1669169986.7333252
}
}
郵編識別
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetZipcodeRequest import GetZipcodeRequest
from aliyunsdkcore.client import AcsClient
# 郵編識別服務測試
def get_zip_code():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetZipcodeRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_zip_code()
返回示例
{
"zipcode":"311100",
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.013387680053710938,
"zipcode":0.004975080490112305,
"segment":0.0003650188446044922,
"address_correct":0.0029914379119873047,
"complete":0.00014781951904296875,
"address_search":0.11602139472961426,
"structure":0.00007843971252441406
},
"start":1669171017.0285726
}
}
地址補全
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.CompleteAddressRequest import CompleteAddressRequest
from aliyunsdkcore.client import AcsClient
# 地址補全服務測試
def complete_address():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CompleteAddressRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
complete_address()
返回示例
{
"complete":"prov=浙江省\tcity=杭州市\tdistrict=余杭區\ttown=五常街道\troad=北側道路\tpoi=阿里巴巴西溪園區\tpoi_list=阿里巴巴西溪園區\tdetail=poi:阿里巴巴西溪園區",
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.012922525405883789,
"segment":0.000354766845703125,
"address_correct":0.002960205078125,
"complete":0.00012803077697753906,
"address_search":0.1186680793762207,
"structure":0.00007605552673339844
},
"start":1669171153.217013
}
}
地址糾錯
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.CorrectAddressRequest import CorrectAddressRequest
from aliyunsdkcore.client import AcsClient
# 地址糾錯服務測試
def correct_address():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CorrectAddressRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
correct_address()
返回示例
{
"address_correct":[
"阿里巴巴西溪園區=poi"
],
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.012915611267089844,
"segment":0.00030541419982910156,
"address_correct":0.002071380615234375
},
"start":1669171269.9406161
}
}
地址結構化
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.StructureAddressRequest import StructureAddressRequest
from aliyunsdkcore.client import AcsClient
# 地址結構化服務測試
def structure_address():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = StructureAddressRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
structure_address()
返回示例
{
"structure":"prov=浙江省\tcity=杭州市\tdistrict=余杭區\tpoi=阿里巴巴西溪園區\tpoi_list=阿里巴巴西溪園區\tdetail=poi:阿里巴巴西溪園區",
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.012606382369995117,
"structure":0.00008559226989746094
},
"start":1669171374.3107815
}
}
多地址相似性判斷
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetAddressSimilarityRequest import GetAddressSimilarityRequest
from aliyunsdkcore.client import AcsClient
# 多地址相似性判斷服務測試
def get_address_similarity():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetAddressSimilarityRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市阿里巴巴西溪園區;杭州市文一西路969號1號樓")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_address_similarity()
返回示例
{
"sim_level":{
"level":"none",
"address_a":"杭州市阿里巴巴西溪園區",
"address_b":"杭州市文一西路969號1號樓",
"is_same":false,
"same_info":"prov=浙江省 city=杭州市 district=余杭區 town=五常街道 road=北側道路 poi=阿里巴巴西溪園區"
},
"status":"OK",
"time_used":{
"rt":{
"sim_level":0.29705166816711426
},
"start":1669171608.6918576
}
}
物流面單信息提取
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.ExtractExpressRequest import ExtractExpressRequest
from aliyunsdkcore.client import AcsClient
# 物流面單信息提取服務測試
def extract_express():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = ExtractExpressRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("張三和李四來到了阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
extract_express()
返回示例
{
"express_extract":{
"house_info":"",
"poi_info":"阿里巴巴西溪園區",
"town":"五常街道",
"city":"杭州市",
"district":"余杭區",
"tel":"",
"addr_info":"阿里巴巴西溪園區",
"per":"張三",
"prov":"浙江省"
},
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.017629623413085938,
"segment":0.00044989585876464844,
"address_correct":0.002103567123413086,
"complete":0.00013947486877441406,
"express_extract":0.000015497207641601562,
"address_search":0.11596989631652832,
"structure":0.00008130073547363281
},
"start":1669171698.909143
}
}
地址類型識別
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.ClassifyPOIRequest import ClassifyPOIRequest
from aliyunsdkcore.client import AcsClient
# 地址類型識別服務測試
def classify_poi():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = ClassifyPOIRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市文一西路969號")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
classify_poi()
返回示例
{
"poi_category":"商務住宅#產業園區#產業園區",
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.009802579879760742,
"segment":0.00036644935607910156,
"poi_category":0.09611964225769043,
"address_correct":0.002713441848754883,
"complete":0.00016927719116210938,
"poi_predict":0.009340047836303711,
"address_search":0.10860967636108398,
"structure":0.00007390975952148438
},
"start":1669171813.0337927
}
}
POI預測
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.PredictPOIRequest import PredictPOIRequest
from aliyunsdkcore.client import AcsClient
# poi預測服務測試
def predict_poi():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = PredictPOIRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市文一西路969號")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
predict_poi()
返回示例
{
"poi_predict":"阿里巴巴西溪園區;阿里巴巴西溪親橙里;西溪悅城",
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.00994110107421875,
"segment":0.0003650188446044922,
"address_correct":0.002363920211791992,
"complete":0.00015807151794433594,
"poi_predict":0.009273290634155273,
"address_search":0.1206369400024414,
"structure":0.0000782012939453125
},
"start":1669171937.3929715
}
}
坐標系轉換
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.TransferCoordRequest import TransferCoordRequest
from aliyunsdkcore.client import AcsClient
# 坐標系轉換服務測試
def transfer_coord():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = TransferCoordRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("120.026268,30.279164")
# 設置坐標系類型
request.set_SrcCoord("gcj02")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
transfer_coord()
返回示例
{
"coord_transfer":{
"BD09":"120.032768,30.285238",
"CGCS2000":"120.021519,30.281543",
"WGS84":"120.021519,30.281543",
"GCJ02":"120.026268,30.279164"
},
"status":"OK",
"time_used":{
"rt":{
"coord_transfer":0.0018177032470703125
},
"start":1669172778.467725
}
}
通用經緯度查詢(POI級別)
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetAddressGeocodeRequest import GetAddressGeocodeRequest
from aliyunsdkcore.client import AcsClient
# 通用經緯度查詢(POI級別)服務測試
def get_address_geo_code():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetAddressGeocodeRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("張三杭州市文一西路969號")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_address_geo_code()
返回示例
{
"offline_geocode":{
"wgs84":"120.02099798073618,30.281364166381348",
"level":"roadno",
"gcj02":"120.025746,30.278984"
},
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.009981632232666016,
"div_search":0.003966331481933594,
"segment":0.00035262107849121094,
"geocode":0.00010561943054199219,
"address_correct":0.004092693328857422,
"address_search":0.13806939125061035,
"structure":0.00007510185241699219
},
"start":1669172938.3091307
}
}
地址異常檢測
請求示例
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 新 異常地址判定 服務調用 測試
def address_assessment():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 指定域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 指定產品版本
request.set_version("2019-11-18")
# 指定產品
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口
request.set_action_name("AddressAssessment")
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "<your-app-key>")
# 設置請求參數
request.add_body_params("Text", "阿里巴巴西溪園區")
# 指定服務
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
hp_geocode()
返回示例
{
"address_assessment":{
"error_code":"0102050204000000",
"error_content":[
"缺少信息,但不影響理解",
"區縣級行政區劃部分缺失(無法補齊)",
"路名缺失",
"缺少行政村"
]
},
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.012493610382080078,
"address_assessment":0.16082525253295898,
"structure":0.00007700920104980469
},
"start":1680762367.9748535
}
}
地址搜索
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetAddressSearchRequest import GetAddressSearchRequest
from aliyunsdkcore.client import AcsClient
# 地址搜索服務測試
def get_address_search():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetAddressSearchRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_address_search()
返回示例
{
"address_search":[
{
"address":"西溪五期北側道路",
"name":"阿里巴巴西溪C區",
"std_addr":"浙江省 杭州市 余杭區 五常街道 北側道路 阿里巴巴西溪C區"
},
{
"address":"文一西路969號",
"name":"阿里巴巴西溪A區",
"std_addr":"浙江省 杭州市 余杭區 五常街道 文一西路 969號 阿里巴巴西溪A區"
},
{
"address":"溪望路",
"name":"阿里巴巴西溪B區",
"std_addr":"浙江省 杭州市 余杭區 五常街道 溪望路 阿里巴巴西溪B區"
},
{
"address":"文一西路969號阿里巴巴西溪A區",
"name":"阿里巴巴西溪A區(A5樓)",
"std_addr":"浙江省 杭州市 余杭區 五常街道 文一西路 969號 阿里巴巴西溪A區(A5樓)"
},
{
"address":"文一西路969號阿里巴巴西溪A區",
"name":"阿里巴巴西溪A區(A4樓)",
"std_addr":"浙江省 杭州市 余杭區 五常街道 文一西路 969號 阿里巴巴西溪A區(A4樓)"
}
],
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.01374197006225586,
"segment":0.0004334449768066406,
"address_correct":0.0030853748321533203,
"address_search":0.11704516410827637,
"structure":0.0000782012939453125
},
"start":1669173196.4693878
}
}
地址輸入聯想
請求示例
import json
from aliyunsdkaddress_purification.request.v20191118.GetInputSearchRequest import GetInputSearchRequest
from aliyunsdkcore.client import AcsClient
# 地址輸入聯想服務測試
def get_input_search():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = GetInputSearchRequest()
# 設置服務code
request.set_ServiceCode("addrp")
# 設置appKey
request.set_AppKey("<your-app-key>")
# 設置請求文本參數
request.set_Text("杭州市阿里巴巴西溪園區")
# 設置默認省份信息
request.set_DefaultProvince("浙江省")
# 設置默認城市信息
request.set_DefaultCity("杭州市")
# 設置默認區級信息
request.set_DefaultDistrict("余杭區")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response)
print(resp_obj['Data'])
if __name__ == '__main__':
get_input_search()
返回示例
{
"input_search":[
"浙江省 杭州市 余杭區 五常街道 文一西路 969號 阿里巴巴西溪A區",
"浙江省 杭州市 余杭區 五常街道 文一西路 阿里巴巴西溪園區(公交站)",
"浙江省 杭州市 余杭區 五常街道 聚橙路 驛客酒店式公寓(阿里巴巴西溪園區店)",
"浙江省 杭州市 余杭區 五常街道 溪望路 阿里巴巴西溪B區",
"浙江省 杭州市 余杭區 五常街道 向往街 199號 1號樓 同悅酒店(杭州阿里巴巴西溪園區店)"
],
"status":"OK",
"time_used":{
"rt":{
"basic_chunking":0.013766765594482422,
"input_search":0.1597459316253662,
"structure":0.00007724761962890625
},
"start":1669173289.2598994
}
}
語音地址輸入識別
請求示例
import json
from aliyunsdkcore.client import AcsClient
# 地址類型識別 服務調用 測試
from aliyunsdkcore.request import CommonRequest
def asr_address_input():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 指定域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 指定產品版本
request.set_version("2019-11-18")
# 指定產品
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口
request.set_action_name("InputAsrAddress")
# 請求方式
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "41mobwqsfg7j")
# 設置請求參數
request.add_body_params("Text", "嗯,呃秦皇島市撫寧撫寧區淮海路66號嗯花筑米十海景旅拍民宿201室。")
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
asr_address_input()
返回示例
{
'RequestId': "B8CF74E1-2830-5146-91CE-0C778346ED60",
'Data': '{"asr_address_input":{"house_info":"201室","struct":"prov=河北省\\tcity=秦皇島市\\tdistrict=撫寧區\\troad=環海路\\troadno=66號\\tpoi=花筑米十海景旅拍民宿\\troomno=201室","poi_info":"環海路66號花筑米十海景旅拍民宿","town":"","city":"秦皇島市","district":"撫寧區","addr_info":"環海路66號花筑米十海景旅拍民宿201室","prov":"河北省"},"status":"OK","time_used":{"rt":{"asr_address_input":0.08004355430603027},"start":1675664185.0322597}}'
}
門址標準化
請求示例
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 門址標準化 服務調用 測試
def street_std():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 設置域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 設置產品版本
request.set_version("2019-11-18")
# 設置產品名稱
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口名稱
request.set_action_name("StreetStd")
# 設置請求方式
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "Xcttmauvja0j")
# 設置請求參數
request.add_body_params("Text", "杭州市文一西路969號")
# 指定服務
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
street_std()
返回示例
{
'RequestId': '53292A6A-F387-14DC-8E78-484BF02E09E7',
'Data': '{"street_std":"prov=浙江省\\tcity=杭州市\\tdistrict=余杭區\\ttown=五常街道\\troad=文一西路\\troadno=969號","status":"OK","time_used":{"rt":{"basic_chunking":0.01028585433959961,"street_std":0.0001442432403564453,"segment":0.00038886070251464844,"address_correct":0.002051115036010742,"address_search":0.12618684768676758,"structure":0.0000743865966796875},"start":1675413983.9960926}}'
}
多源地址歸一
請求示例
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 多源地址歸一服務測試
def one_id_address():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 設置域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 設置產品版本
request.set_version("2019-11-18")
# 設置產品
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口
request.set_action_name("OneIdAddress")
# 設置請求方式
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "Xcttmauvja0j")
# 設置請求參數
request.add_body_params("Text", "杭州市文一西路969號")
# 指定服務
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
one_id_address()
返回示例
{
'RequestId': '7EF87685-675C-1753-BED1-3181D1F4D565',
'Data': '{"online_address_unify":"82310db47579d1e4ef4484d7ce3f0b76","status":"OK","time_used":{"rt":{"basic_chunking":0.010370254516601562,"online_address_unify":0.0012214183807373047,"segment":0.0004582405090332031,"address_correct":0.0020546913146972656,"address_search":0.1227867603302002,"structure":0.0000743865966796875},"start":1675414152.5409853}}'
}
對話上下文地址推理
請求示例
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 對話上下文推理服務測試
def address_inference():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 設置域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 設置產品版本
request.set_version("2019-11-18")
# 設置產品
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口
request.set_action_name("AddressInference")
# 訪問方式
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "Xcttmauvja0j")
# 設置請求參數
request.add_body_params("Text", "我在阿里巴巴門口被車撞了,濱江區的")
# 指定服務
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
address_inference()
返回示例
{
'RequestId': '8CF3720F-EDFD-1052-8679-73A1ADDEDD68',
'Data': '{"address_inference":[{"address":"網商路699號","divcode":"330108","name":"阿里巴巴濱江園區","id":"B0FFG083SL","lxly":"30.1896,120.190371","std_addr":"浙江省 杭州市 濱江區 長河街道 網商路 699號 阿里巴巴濱江園區"},{"address":"文一西路969號","divcode":"330110","name":"阿里巴巴西溪A區","id":"B023B1D4BX","lxly":"30.278984,120.025746","std_addr":"浙江省 杭州市 余杭區 五常街道 文一西路 969號 阿里巴巴西溪A區"},{"address":"溪望路","divcode":"330110","name":"阿里巴巴西溪B區","id":"B0FFGUEOJ9","lxly":"30.275962,120.027276","std_addr":"浙江省 杭州市 余杭區 五常街道 溪望路 阿里巴巴西溪B區"}],"status":"OK","time_used":{"rt":{"dialog_extract":0.008522748947143555,"address_inference":0.47654223442077637},"start":1675414255.8609135}}'
}
高精度經緯度查詢(樓棟級別)
請求示例
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
# 高精度經緯度查詢 服務調用 測試
def hp_geocode():
client = AcsClient(
// 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// 本示例以將AccessKey ID和AccessKey Secret保存到環境變量為例說明。運行本代碼示例之前,請先配置環境變量。
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
"cn-hangzhou"
)
# 構建request
request = CommonRequest()
# 指定域名
request.set_domain("address-purification.cn-hangzhou.aliyuncs.com")
# 指定產品版本
request.set_version("2019-11-18")
# 指定產品
request.set_product("address-purification")
# 指定服務
request.set_location_service_code("addrp")
# 指定接口
request.set_action_name("HpGeocode")
request.set_method("POST")
# 設置項目token
request.add_body_params("AppKey", "Xcttmauvja0j")
# 設置請求參數
request.add_body_params("Text", "我在阿里巴巴門口被車撞了,濱江區的")
# 指定服務
request.add_body_params("ServiceCode", "addrp")
request.add_body_params("DefaultCity", "杭州市")
request.add_body_params("AcceptLanguage", "zh-CN")
# 發送請求
response = client.do_action_with_exception(request)
# 處理請求結果
resp_obj = json.loads(response.decode("utf-8"))
print(resp_obj)
if __name__ == '__main__':
hp_geocode()
返回示例
{
'RequestId': '746B0AAA-E668-1718-8288-71BCF0A34A52',
'Data': '{"hpgeocode":{"level":"subpoi","gcj02":"120.190371,30.1896"},"status":"OK","time_used":{"rt":{"hpgeocode":0.18102073669433594},"start":1675414344.822714}}'
}
文檔內容是否對您有幫助?