百度翻訳体験(Python版)

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字)

参照:

一般的な翻訳API技術文書

おすすめ

転載: blog.csdn.net/Robin_Pi/article/details/114261008