關於地址解析中文地址識別api接口的文章,看這一篇應該夠了.
最近有個項目中要做到自動填寫省市區電話姓名的效果.
以往填寫地址都是手動選擇 先上下拉動選擇河北省--->再通過上下拉動選擇滄州市--->再通過下拉選中東光縣--->切換到姓名輸入框輸入姓名--->切換到電話輸入框輸入電話-----等等這一系列的操作.
市面上已經有這樣的app可以實現地址自動識別.就是從微信或者從其他地方複製過來一個地址(格式可能是錯亂的),粘貼到輸入框就可以自動填寫省市區電話郵編姓名等.會去掉一些沒有用的信息之類的.
比如:順豐在線下單app(雖然識別爛的很)
仔細研究了一下,實現這個功能的方法可以是正則也可以是機器算法之類的.寫了幾篇演草紙後,決定放棄造輪子,於是翻遍全網,搜到瞭如下幾個 伸手黨拿來主義的方案,下面我們來對比一下接入上手難易度,跳一下坑,再爬出來告訴你們,對比下識別效率,羊毛量,優缺點之類的各方面.
都有哪些?
天行
百度
快遞100
smartParsePro
快寶
騰訊雲內兩款
先給伸手黨一個我的評測:
1.天行
2.百度
3.快遞100內兩款中的快遞100官方的
4.快遞100內兩款中的綠圖標的
5.smartParsePro
6.快寶
7.騰訊雲內兩款中的綠圖標的
8.騰訊雲內兩款中的藍圖標的
4和7實際上是同一個.
名稱 | 上手難易度 | 是否免費 | 免費每天用量 | 支持多條 | 反饋速度 | 功能性 | 識別準確 | 推薦指數 |
天行 | 一般 | 總免費5000次 | 15 | 否 | 一般 | 5 | 5 | 3 |
百度 | 一般 | 不免費 | 無 | 否 | 一般 | 5 | 8 | 3 |
快遞100官方 | 簡單 | 不免費 | 無 | 否 | 一般 | 5 | 5 | 3 |
快遞100綠圖標 | 簡單 | 不免費 | 無 | 否 | 快 | 8 | 10 | 9 |
smartParsePro | 複雜 | 免費 | 無限 | 否 | 快 | 3 | 1 | 6 |
快寶 | 一般 | 不免費 | 1000 | 是 | 一般 | 5 | 3 | 6 |
騰訊雲綠圖標 | 簡單 | 不免費 | 無 | 否 | 快 | 8 | 10 | 10 |
騰訊雲藍圖標 | 簡單 | 不免費 | 無 | 否 | 一般 | 8 | 10 | 8 |
但是騰訊雲的secret跟其他所有的我測試這些雲api一樣,我沒找到更換的地方.雖然更新不會頻繁,可能以後官方會出重置功能吧.總的來說就是上面這樣了.我更推薦綠圖標那個,速度,識別準確度,地區編碼,郵編,也帶清洗,都不錯,價格也是這些當中除了開源項目最優方案,具體選快遞100平臺還是騰訊雲平臺看個人了.我覺得還是大廠穩定性應該沒問題,所以騰訊吧.
下面逐一進行測試:
天行api:
我進來以後一看,升級高級會員?那就一定是一個收費的了.不管了.看看能不能測試一下先.
果不其然,就知道不花錢也許用不了.那就申請下試試
要經過驗證郵件,然後申請接口.驗證了郵件以後不知道以後會有啥問題.也許只是爲了安全.
贈送的5000次,你要每天只能用15次的用完...不過申請倒是沒有人工審覈之類的,直接秒過,可以直接測試
識別後的json如下
{
"code": 200,
"msg": "success",
"newslist": [
{
"mobile": "13800138000",
"name": "馬雲",
"province": "浙江省",
"city": "杭州市",
"district": "濱江區",
"postcode": "310052",
"detail": "浙江省杭州市濱江區網商路699號"
}
]
}
以上是他的默認測試內容,
但是通常我們的顧客給的地址是本土化的地址,就是說只告訴你一個區就好了然後是詳細地址門牌號之類的.兩個人聊天時候或者是在物流發貨之類的,不可能傻子一樣的跟一個本地人,報一個本地地址還告訴別人咱們是那個省,哪個市,所以,解決需求才是我們要做的.還有,有的時候人們習慣把電話和地址之類的不管前後的直接說出來不會根據格式寫的.這就是人,自由度高.
給他加點難度,信息混排,缺省能否補全?:東光縣科技園南路444號馬曉姐13243214321
結果,識別的一塌糊塗
{
"code": 200,
"msg": "success",
"newslist": [
{
"mobile": "13243214321",
"name": null,
"province": null,
"city": null,
"district": null,
"postcode": null,
"detail": "東光縣科技園南路444號馬曉姐"
}
]
}
Pass,不用接入了,繼續尋找下一個
如果你好奇,可以註冊試試:
https://www.tianapi.com/signup.html
坑:
註冊頁面隨便寫了個暱稱提示註冊過了,然後改了暱稱再點註冊,驗證碼就不能刷新了...但是那都是小事兒,刷新一下重新填寫就好.
地址混排不支持
註冊送的5000一次15個不如不送.
百度api
有一篇網友寫的正反解析地址的文章,雖然都是代碼,大家可以先看一下,但如果你不只是要通過讀別人代碼的方式來學習的話,我建議就不用看了.不如直接看官方實例
使用步驟,也是要登陸註冊百度賬號(大多數人應該都有的)
然後創建應用
當然你不創建應用也是可以直接測試一下效果的:
這裏還是使用難倒天行api的那個地址測試:
哦,又是失敗的例子.百度???智能汽車???中國最大搜索引擎???
此時的我真的是一臉黑人問號
Pass,不好用,不用接入了
快遞100
我以前查快遞都是用快遞100,因爲那時候申通圓通之類的官網查詢地址還需要驗證碼太麻煩,所以直接快遞100查詢.
搜到這個頁面的時候,我還是覺得有希望了的,畢竟好像在快遞行業摸爬滾打了很久的樣子,應該可靠(也許不可靠,百度都讓我大跌眼鏡了......)
進來看了下,他做了個雲平臺,裏面是有他自己的業務也有別人的.在電子商務的api下面找到了倆好像可以用的
what? 一快錢100次? 多錢?
1/100=0.01,哦不算貴,一天我的一個客戶訂單兩百單才2塊錢.100個客戶...好吧,先不想價格了,也許用錢的就穩定呢,就好用呢,不像前兩個那麼坑呢...
看了產品詳情
就一句話介紹我也是醉了.有沒有測試頁面?有,仍然需要註冊......
註冊什麼的,我很討厭的,可是 竟然測試的時候要收費...1塊錢...100次 反正一快錢也發不了家,也不會讓我傾家蕩產來吧.開始測試吧.
解析的仍然是一塌糊塗.一快錢廢了...
反正md一快錢都花了,又把另外一個買了一下
哎?這個貌似行!
本來到這裏,我應該進行下一項直接到項目和代碼中接入了.但是上癮了,既然要做一個入坑記錄文章,那就把所有的都給大家踩一遍吧.這個暫時先做備用
看了一下產品描述覺得還行,就是我想要的功能,你們要看點一下,這是連接
進入下一個
smartParsePro
這是一個開源的項目,介紹是地址智能識別Pro(支持vue、小程序)/省市區街道四級聯動(支持省市區街道/電話/郵編/姓名/身份證號識別)
同樣我也給他出了那道題東光縣科技園南路444號馬曉姐13243214321
人名呢??????
省市區是自動給補上了,人名沒了.馬曉姐就不是人嗎...Pass還是不能用
如果對完全開源感興趣的,可以點此連接查看,有網友發的博文
快寶
也是一樣,要註冊,公司名字隨便寫,當然 別人也可以隨便寫,寫完了你就用不了....
服務市場內,有地址清洗和智能解析,每天免費1000次,對一般小賣家是應該夠用了吧,規模app是不可能夠的了.
優點:
免費1000次每天
多行地址可以\r\n換行一起識別(不知道按照一條計費還是多條計費)
缺點:
沒有測試接口的便捷地址,對接代碼導入後還不能直接用,花了半小時弄好後,效果還不行.坑指數滿分五顆星我給他6顆
代碼粘進來後就是這樣的
我知道我是採坑的,但是踩上了雷我也要把雷拆了.並且得測試一下效果如何
喏,得到的結果就是這樣的,收件人姓名呢?沒提取出來,是不是它不認識馬曉姐,認識馬小姐?測試一下.also不行~~~
所以我懷疑是不是拿了smartParsePro的代碼出來賣
關於他上面宣傳的可以用圖片識別的方式來操作,我個人認爲,應該用圖片識別就行了.因爲圖片裏面有空格之類的,雖然業務場景中有很多人輸入的微信發過來的地址是沒空格或者格式混排的他識別不行,但是如果業務量不大,接受人名識別可能會有問題的,可以試試.但是我個人總結一下:
過程複雜,沒有測試頁面,識別結果也不行,Pass,下一個
騰訊雲市場Api
在百度搜索地址識別api發現
好奇進來看看,發現根本沒有這個api,但是我印象中騰訊雲市場,阿里雲市場,都有很多api可以使用,雖然收費但是可靠性比較好,於是,搜騰訊雲市場,找到以下兩個接口.
嗯?第一個在快遞100中看到過,效果挺不錯,看看第二個
還是要註冊??哦不發現可以微信掃一掃進入.
第二個的介紹說:
傳入國內收貨地址任意混排文本,接口將自動分詞、智能匹配國內行政區,自動識別區分出省、市、區、街道、姓名、手機號等,方便用戶將複製的文本內容一鍵填寫到收貨訂單表單中,提高用戶體驗,縮短用戶下單時間。
看起來不錯.看了一下示例代碼,也挺全面
基本的東西都提示了 代碼粘貼進來基本不用改,改了secretid和secretkey,發現代碼還是有md5簽名校驗的地方不通的,簡單修改後可以了.測試發現...需要訂購...
好,訂購,5塊錢1000次夠我測試了.但是沒有免費次數
識別後的結果這樣:
{"code":0,"message":"成功","result":{"street":"科技園南路444號","full_name":"馬曉姐","telephone":"13243214321","mobile":"13243214321","province":"河北省","city":"滄州市","area":"東光縣"}}
行,也是可以用的.識別也不錯.
用此代碼改了請求url,也能請求那個綠色的1塊錢1000次那個.
那個綠色圖片的跟這個識別的都可以.就進行一個更深入的測試吧,對比兩者.
發現價格差不多,速度上,100次連續請求,綠色的用時9秒多,藍色圖標的,用時24秒.既然這綠色的表現不錯,最後決定用這個綠色的不折騰了.也沒有在google和baidu上查到更多的地址識別api,價錢可以接受的情況下,就不享用免費的午餐了.
我本以爲阿里雲市場作爲國內的api綜合市場領頭羊,能有一個比前面更好的api(其實已經滿足需求了現在)但是阿里雲市場內:並,沒,有,.....
總結
1.天行
2.百度
3.快遞100內兩款中的快遞100官方的
4.快遞100內兩款中的綠圖標的
5.smartParsePro
6.快寶
7.騰訊雲內兩款中的綠圖標的
8.騰訊雲內兩款中的藍圖標的
4和7實際上是同一個.
名稱 | 上手難易度 | 是否免費 | 免費每天用量 | 支持多條 | 反饋速度 | 功能性 | 識別準確 | 推薦指數 |
天行 | 一般 | 總免費15次 | 無 | 否 | 一般 | 5 | 5 | 3 |
百度 | 一般 | 不免費 | 無 | 否 | 一般 | 5 | 8 | 3 |
快遞100官方 | 簡單 | 不免費 | 無 | 否 | 一般 | 5 | 5 | 3 |
快遞100綠圖標 | 簡單 | 不免費 | 無 | 否 | 快 | 8 | 10 | 9 |
smartParsePro | 複雜 | 免費 | 無限 | 否 | 快 | 3 | 1 | 6 |
快寶 | 一般 | 不免費 | 1000 | 是 | 一般 | 5 | 3 | 6 |
騰訊雲綠圖標 | 簡單 | 不免費 | 無 | 否 | 快 | 8 | 10 | 10 |
騰訊雲藍圖標 | 簡單 | 不免費 | 無 | 否 | 一般 | 8 | 10 | 8 |