研究百度OCR的API卓舵,主要是向做對(duì)掃描版的各種PDF進(jìn)行文字識(shí)別并轉(zhuǎn)Word文檔的需求悯仙。
這里用Postman客戶端進(jìn)行測(cè)試和演示信夫。因?yàn)镻ostman是對(duì)各種API操作的最佳入門方式奸攻。一旦在Postman里實(shí)現(xiàn)了正確的調(diào)用稍算,剩下的就只是一鍵生成代碼,和一些細(xì)節(jié)的修改了。
參考百度云官方文檔:文字識(shí)別API參考
下載官方文檔PDF:OCR.zh.pdf
授權(quán)字符串 Access Token
Token字符串
永遠(yuǎn)是你使用別人API的第一步惩阶,簡(jiǎn)單說挎狸,就是只有你自己知道的密碼,在你每次向服務(wù)器發(fā)送的請(qǐng)求里面加上這個(gè)字符串琳猫,就相當(dāng)于完成了一次登錄伟叛。
如果沒有Token授權(quán)認(rèn)證私痹,API的訪問可能會(huì)像瀏覽網(wǎng)頁(yè)一樣簡(jiǎn)單脐嫂。
Access Token
一般是調(diào)用API最重要也最麻煩的地方了:每個(gè)公司都不一樣,各種設(shè)置安全問題讓你的Token復(fù)雜化紊遵。而百度云的Token账千,真的是麻煩到一定地步了。
參考:百度API的鑒權(quán)認(rèn)證機(jī)制 (建議你不要參考暗膜,因?yàn)樗牧鞒虉D會(huì)先把你鎮(zhèn)住的)
簡(jiǎn)單說匀奏,獲取百度云token字符串的主要流程就是:
- 創(chuàng)建一個(gè)應(yīng)用,獲得只有自己知道的id和密碼
- 用POST方式把id和密碼發(fā)給百度的一個(gè)鏈接:
https://aip.baidubce.com/oauth/2.0/token
- 其中学搜,需要你向這個(gè)地址傳送三個(gè)參數(shù):
-
grant_type = client_credentials
這個(gè)是固定的 -
client_id = xxx
這個(gè)是你在百度云管理后臺(tái)創(chuàng)建OCR應(yīng)用的時(shí)候娃善,那個(gè)應(yīng)用的API Key
-
client_secret = xxx
這個(gè)是你的應(yīng)用的Secret Key
-
- 等待服務(wù)器返還給你一個(gè)包含token字符串的數(shù)據(jù)
- 記住這個(gè)token字符串,并用來訪問每一次的API
來看看怎么利用Postman操作瑞佩,如下圖所示:
填好以后點(diǎn)擊Send發(fā)送聚磺,就會(huì)獲得一個(gè)JSON數(shù)據(jù),如下圖:
然后你用你的程序(Python, PHP, Node.js等炬丸,隨便)瘫寝,獲取這個(gè)JSON中的access_token
,
即可用到正式的API請(qǐng)求中稠炬,做為授權(quán)認(rèn)證焕阿。
正式調(diào)用API: 以"通用文字識(shí)別"為例
API鏈接:https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic
提交方式:POST
調(diào)用方式有兩種:
- 方式一:直接在URL填寫信息
直接把API所需的認(rèn)證信息放在URL里是最簡(jiǎn)單最方便的。 -
方式二:Headers填寫信息方式
建議忽略這種方式首启,需要填寫很多request的標(biāo)準(zhǔn)headers暮屡,太麻煩。
Headers設(shè)置:
-
Content-Type = application/x-www-form-urlencoded
只要填這一項(xiàng)就夠了毅桃。
Body數(shù)據(jù)傳送的各項(xiàng)參數(shù):
-
access_token = xxx
把之前獲取到的token字符串填到這里來 -
image = xxx
把圖片轉(zhuǎn)成base64字符串填到這里褒纲,不需要開頭的data:image/png;base64,
-
url = xxx
也可以不用傳圖片而是傳一個(gè)圖片的鏈接。但是百年無效疾嗅,不要用外厂! -
language_type = CHN_ENG
識(shí)別語(yǔ)言類型。默認(rèn)中英代承。
Body的數(shù)據(jù)如圖所示:
然后就可以點(diǎn)Send發(fā)送請(qǐng)求了汁蝶。
成功后,可以得到百度云返回的一個(gè)JSON數(shù)據(jù),類似下圖:
返回的是一行一行的識(shí)別字符掖棉。百度云的識(shí)別率是相當(dāng)高的墓律,幾乎100%吧。畢竟是國(guó)內(nèi)本土的機(jī)器訓(xùn)練出來的幔亥。
API常用地址
以下是百度云的OCR常用API地址耻讽,每個(gè)API所需的參數(shù)都差不多,略有不同帕棉。所有的API和地址以及詳細(xì)所需的參數(shù)针肥,參考官方文檔,很簡(jiǎn)單香伴。一個(gè)弄明白了就其他的都明白了慰枕。
API | 請(qǐng)求地址 | 調(diào)用量限制 |
---|---|---|
通用文字識(shí)別 | https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic | 50000次/天免費(fèi) |
通用文字識(shí)別(含位置信息版) | https://aip.baidubce.com/rest/2.0/ocr/v1/general | 500次/天免費(fèi) |
通用文字識(shí)別(高精度版) | https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic | 500次/天免費(fèi) |
通用文字識(shí)別(高精度含位置版) | https://aip.baidubce.com/rest/2.0/ocr/v1/accurate | 50次/天免費(fèi) |
網(wǎng)絡(luò)圖片文字識(shí)別 | https://aip.baidubce.com/rest/2.0/ocr/v1/webimage | 500次/天免費(fèi) |