翻譯介面整理

caohaoyu發表於2018-11-14

一、背景

因為個人需要將中文翻譯成英文,所以開始對翻譯介面有了興趣!於是整理下常用的五個翻譯介面包括谷歌、百度、有道、必應、金山詞霸,經過研究發現,難度等級也是按照如上順序排列的。目前主流的翻譯也都提供了API介面,但是作為一個開發怎麼能不追求些挑戰呢!

(PS:跟窮沒有一點關係!)

二、第一階層(必應、金山)

為什麼說是第一階層呢?當然是因為這兩家秉持開放的觀念,不禁由衷對其表示尊重!

必應翻譯

必應有兩個介面,一個是用來獲取譯文的資料,一個是用來獲取翻譯的資料,引數都是一致的
引數:from=zh-CHS&to=en&text=程式碼
引數解析:
from  需要翻譯文字的語言
to    翻譯結果的語言
text  需要翻譯的內容
1.獲取譯文介面
介面地址:https://cn.bing.com/translator/
返回資料比較多,想看的自行去實驗吧
2.獲取翻譯介面
介面:https://cn.bing.com/ttranslate
返回結果:{"statusCode":200,"translationResponse":"Code"}

複製程式碼

金山詞霸

介面地址:http://fy.iciba.com/ajax.php?a=fy
引數:f=auto&t=auto&w=愛
引數解析:
f:需要翻譯的語言
t:翻譯成的語言
w:需要翻譯的內容
返回結果:{status: 1, content: {from: "zh", to: "en", out: "love", vendor: "ciba", err_no: 0}}
複製程式碼

三、第二階層(有道)

除了第一階級的兩家的介面是直接的,其他的介面都經過加密了,接下來就是加密程度的難易的區分了

有道翻譯

介面地址:http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
引數:i=愛情&from=zh-CHS&to=en&smartresult=dict&client=fanyideskweb&salt=1541752274&sign=99b25d6a0f1dc171047ddf464fa5b87e&doctype=json&version=2.1&keyfrom=fanyi.web&action=FY_BY_REALTIME&typoResult=false
引數解析:
i    翻譯內容
salt 隨機數(官方是用時間+rand生成的,自己試了下用1、2、3這樣的也是可以的)
sign md5加密認證(是用一些密文和salt加上i然後進行md5加密,具體的內容就不說了,都在前端程式碼裡了)
from 需要翻譯文字的語言
to   翻譯成的語言

注意點:
1.其他引數都是固定的,可以直接忽視
2.需要帶上cookie內容:"Cookie:OUTFOX_SEARCH_USER_ID=-72747@1.8.1.1;"

返回結果:{"translateResult":[[{"tgt":"love","src":"愛情"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","love\r\n","affection\r\n","amor\r\n"],"type":1}}


複製程式碼

四、第三階層(谷歌、百度)

這兩家介面用到生成隨機數的前端程式碼比較繁瑣,試圖搞出來但是發現比較有難度,程式碼截圖如下,隨意感受下吧

翻譯介面整理

百度的翻譯介面和谷歌的看上去比較相似,主要難點都是在與獲取隨機數

雖然沒有繼續研究下去,但是在網上有關這兩家介面的文章有很多,挑選了寫的比較好的,有興趣的小夥伴可以再深入研究!

百度介面研究

谷歌介面研究

五、後記

當然如果不差錢的小夥伴還是建議去直接申請各大翻譯平臺的API的介面,又穩定又不折騰。支援正版!

這個主要還是個人想研究下,如果造成什麼不良影響,請及時跟我溝通下吧。(不過應該沒啥影響的)

相關文章