記事のディレクトリ
1.百度翻訳入門
オプションモード
- Universal Translation API-Standard Edition:完全無料、QPS = 1
- Universal Translation API-Advanced Edition(個人認証が必要)、200万文字/月無料; 200万文字以上、月の超過文字に対して49人民元/百万文字(QPSは10)で支払います。
- Universal Translation API-Exclusive Edition:Enterprise認定が必要であり、請求方法は上記と同じです。
入力と出力(概要)
出力形式:trans_result
trans_resultは配列であり、各配列{ }
は段落であり、その構造は次のとおりです。
trans_result: [{
},{
},{
}]
段落の結果は、trans_result配列の1つの項目です。
{
“src”:””,“dst”:””}
いくつかのパラメータの説明
- q:翻訳クエリをリクエストする
- 差出人:翻訳ソース言語
- 宛先:ターゲット言語
- appid:APP ID
- 塩:乱数
- ため息:appid + q + salt + keyのMD5値
署名は、呼び出しのセキュリティを確保するためのものです。MD5アルゴリズムによって生成された文字列、生成された署名の長さは32ビット、署名の英字はすべて小文字。
2.使用例
このテストでは、英語の単語apple
を中国語に翻訳します。
# 百度通用翻译API,不包含词典、tts语音合成等资源,如有相关需求请联系[email protected]
# coding=utf-8
import http.client
import hashlib
import urllib
import random
import json
appid = 'xxxxx' # 填写你的appid
secretKey = 'xxxxx' # 填写你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
fromLang = 'auto' #原文语种
toLang = 'zh' #译文语种
salt = random.randint(32768, 65536)
q = 'apple' # 待翻译字符串
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
salt) + '&sign=' + sign
print(f'myurl: {myurl}')
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
# response是HTTPResponse对象
response = httpClient.getresponse()
result_all = response.read().decode("utf-8")
result = json.loads(result_all)
print (f'result: {result}')
except Exception as e:
print (e)
finally:
if httpClient:
httpClient.close()
印刷結果は次のとおりです。
myurl: /api/trans/vip/translate?appid=xxxxx&q=apple&from=auto&to=zh&salt=40068&sign=70ee84dc8e4d1bd75dc7db159d63c1a9
result: {
'from': 'en', 'to': 'zh', 'trans_result': [{
'src': 'apple', 'dst': '苹果'}]}
3.考えられる問題
エラーコードリスト
Baidu TranslationAPIのさまざまな制限
プログラムにエラーがある場合は、次の考えられる側面を考慮することができます。
1.アカウントタイプ
標準バージョン:基本的な翻訳は無料で使用でき、文字数は無制限です。QPS(1秒あたりの訪問数)は1です。
プレミアムバージョン:月額200万文字無料、QPSは10
2.インターフェースの制限
BaiduTranslation APIの使用頻度のデフォルトの制限は、IPごとに1時間あたり1000回です。
3. IP制限
同じIPが複数のAPPIDを使用して同じ日に翻訳要求を送信する場合、そのIPは同じ日に許可を要求することを禁止され、禁止は翌日に解除されます。(58003エラー)
4. 1回の翻訳の上限:6000バイト。
クエリの長さ:翻訳の品質を確保するために、1回のリクエストの長さを6000バイト以内に制御してください。(約2000字)
参照: