日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python写的翻译器

發布時間:2023/12/14 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python写的翻译器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、靈感來源

1、最近在學習python爬蟲,發現現在的百度翻譯限制爬蟲了,在網上找到了一些文檔,說現在都限制反爬,讓我一頓失望,爬蟲的時候會報:{"errno":997,"errmsg":"\u672a\u77e5\u9519\u8bef","query":"he","from":"en","to":"zh","error":997}的錯誤;但是還是讓我找到了解決方案,有位博主用5行代碼寫出了對應調用對應接口的程序,我是特別膜拜,就大樹底下好乘涼,你懂得,借鑒借鑒。這邊奉上對應博主文章鏈接,有興趣的伙伴,可以從他的文檔開始入手。

【python】5行代碼實現百度翻譯api接口調用

? 【python】5行代碼實現百度翻譯api接口調用_XavierJ的博客-CSDN博客

  • 但是運用這種方式有個致命的缺點就是每次只能翻譯一個單詞,而且單詞里面不能有特殊符號,比如翻譯hello,world就會報錯,這對于嚴謹的我們來說肯定接受不了,竟然百度限制了反爬,那我們加入百度開放的API不就好了。打不過就加入(真香!!!)。
    • 運用申請的百度API自己開發一個本地的翻譯軟件
  • 申請百度翻譯API:如何申請百度翻譯API_360新知
  • API接口文檔(通用翻譯)
  • 通用翻譯API接入文檔

    歡迎使用通用翻譯API,本文檔將指導您如何快速接入。

    如何使用通用翻譯API?

  • 使用您的百度賬號登錄百度翻譯開放平臺(http://api.fanyi.baidu.com);
  • 注冊成為開發者,獲得 APPID ;
  • 進行開發者認證(如僅需標準版可跳過);
  • 開通通用翻譯API服務:開通鏈接
  • 參考技術文檔和 Demo 編寫代碼。
  • 接入方式

    通用翻譯API通過 HTTP 接口對外提供多語種互譯服務。您只需要通過調用通用翻譯API,傳入待翻譯的內容,并指定要翻譯的源語言(支持源語言語種自動檢測)和目標語言種類,就可以得到相應的翻譯結果。

    通用翻譯API HTTPS 地址:

    https://fanyi-api.baidu.com/api/trans/vip/translate

    簽名生成方法

    簽名是為了保證調用安全,使用 MD5 算法生成的一段字符串,生成的簽名長度為 32 位,簽名中的英文字符均為小寫格式。

    生成方法:

    Step1.?將請求參數中的 APPID(appid), 翻譯 query(q,注意為UTF-8編碼),隨機數(salt),以及平臺分配的密鑰(可在管理控制臺查看) 按照 appid+q+salt+密鑰的順序拼接得到字符串 1。
    Step2.?對字符串 1 做 md5 ,得到 32 位小寫的 sign。
    注:
    1. 待翻譯文本(q)需為 UTF-8 編碼;
    2.?在生成簽名拼接 appid+q+salt+密鑰 字符串時,q 不需要做 URL encode,在生成簽名之后,發送 HTTP 請求之前才需要對要發送的待翻譯文本字段 q 做 URL encode
    3.如遇到報 54001 簽名錯誤,請檢查您的簽名生成方法是否正確,在對 sign 進行拼接和加密時,q 不需要做 URL encode,很多開發者遇到簽名報錯均是由于拼接 sign 前就做了 URL encode;
    4.在生成簽名后,發送 HTTP 請求時,如果將 query 拼接在 url 上,需要對 query 做 URL encode。

    輸入參數

    請求方式: 可使用 GET 或 POST 方式,如使用 POST 方式,Content-Type 請指定為:application/x-www-form-urlencoded
    字符編碼:統一采用 UTF-8 編碼格式
    query 長度:為保證翻譯質量,請將單次請求長度控制在 6000 bytes以內(漢字約為輸入參數?2000 個)

    字段名

    類型

    是否必填

    描述

    備注

    q

    string

    請求翻譯query

    UTF-8編碼

    from

    string

    翻譯源語言

    可設置為auto

    to

    string

    翻譯目標語言

    不可設置為auto

    appid

    string

    APP ID

    可在管理控制臺查看

    salt

    string

    隨機數

    可為字母或數字的字符串

    sign

    string

    簽名

    appid+q+salt+密鑰的MD5值

    以下字段僅開通了詞典、TTS用戶需要填寫

    tts

    integer

    是否顯示語音合成資源

    0-顯示1-不顯示

    dict

    integer

    是否顯示詞典資源

    0-顯示1-不顯示

    以下字段僅開通了”我的術語庫“用戶需要填寫

    action

    integer

    判斷是否需要使用自定義術語干預API

    1-是0-否


    輸出參數

    返回的結果是json格式,包含以下字段:

    字段名

    類型

    描述

    備注

    from

    string

    源語言

    返回用戶指定的語言,或者自動檢測出的語種(源語言設為 auto 時)

    to

    string

    目標語言

    返回用戶指定的目標語言

    trans_result

    array

    翻譯結果

    返回翻譯結果,包括 src 和 dst 字段

    trans_result.*.src

    string

    原文

    接入舉例中的“apple”

    trans_result.*dst

    string

    譯文

    接入舉例中的“蘋果”

    error_code

    integer

    錯誤碼

    僅當出現錯誤時顯示

    以下字段僅開通了詞典、TTS用戶可見

    src_tts

    string

    原文tts鏈接

    mp3格式,暫時無法指定發音

    dst_tts

    string

    譯文tts鏈接

    mp3格式,暫時無法指定發音

    dict

    string

    中英詞典資源

    返回中文或英文詞典資源,包含音標,簡明釋義等內容



    接入舉例

    例如:將英文單詞 apple 翻譯成中文:

    請求參數

    q=apple
    from=en
    to=zh
    appid=2015063000000001(請替換為您的appid)
    salt=1435660288(隨機碼)
    平臺分配的密鑰: 12345678

    生成簽名sign:

    Step1. 拼接字符串1:
    拼接appid=2015063000000001+q=apple+salt=1435660288+密鑰=12345678得到字符串1:“2015063000000001apple143566028812345678”
    Step2. 計算簽名:(對字符串1做md5加密)
    sign=md5(2015063000000001apple143566028812345678),得到sign=f89f9594663708c1605f3d736d01d2d4

    拼接完整請求:

    http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

    注:也可使用 POST 方式,如 POST 方式傳送,Content-Type 請指定為:application/x-www-form-urlencoded

    語種列表

    通用翻譯API支持語種數已達 201種,完整列表如下。其中,對于常見語種列表內的語種,所有用戶均可調用。對于非常見語種,僅企業已認證的尊享版用戶可調用,未認證的非尊享版用戶調用將返回錯誤。
    源語言語種不確定時可設置為 auto,目標語言語種不可設置為 auto。但對于非常用語種,語種自動檢測可能存在誤差。

    常見語種列表

    名稱

    代碼

    名稱

    代碼

    名稱

    代碼

    自動檢測

    auto

    中文

    zh

    英語

    en

    粵語

    yue

    文言文

    wyw

    日語

    jp

    韓語

    kor

    法語

    fra

    西班牙語

    spa

    泰語

    th

    阿拉伯語

    ara

    俄語

    ru

    葡萄牙語

    pt

    德語

    de

    意大利語

    it

    希臘語

    el

    荷蘭語

    nl

    波蘭語

    pl

    保加利亞語

    bul

    愛沙尼亞語

    est

    丹麥語

    dan

    芬蘭語

    fin

    捷克語

    cs

    羅馬尼亞語

    rom

    斯洛文尼亞語

    slo

    瑞典語

    swe

    匈牙利語

    hu

    繁體中文

    cht

    越南語

    vie



    完整語種列表

    中文首字母

    名稱

    代碼

    語種檢測

    名稱

    代碼

    語種檢測

    名稱

    代碼

    語種檢測

    A

    阿拉伯語

    ara

    愛爾蘭語

    gle

    奧克語

    oci

    阿爾巴尼亞語

    alb

    阿爾及利亞阿拉伯語

    arq

    阿肯語

    aka

    阿拉貢語

    arg

    阿姆哈拉語

    amh

    阿薩姆語

    asm

    艾馬拉語

    aym

    阿塞拜疆語

    aze

    阿斯圖里亞斯語

    ast

    奧塞梯語

    oss

    愛沙尼亞語

    est

    奧杰布瓦語

    oji

    奧里亞語

    ori

    奧羅莫語

    orm

    B

    波蘭語

    pl

    波斯語

    per

    布列塔尼語

    bre

    巴什基爾語

    bak

    巴斯克語

    baq

    巴西葡萄牙語

    pot

    白俄羅斯語

    bel

    柏柏爾語

    ber

    邦板牙語

    pam

    保加利亞語

    bul

    北方薩米語

    sme

    北索托語

    ped

    本巴語

    bem

    比林語

    bli

    比斯拉馬語

    bis

    俾路支語

    bal

    冰島語

    ice

    波斯尼亞語

    bos

    博杰普爾語

    bho

    C

    楚瓦什語

    chv

    聰加語

    tso

    D

    丹麥語

    dan

    德語

    de

    韃靼語

    tat

    撣語

    sha

    德頓語

    tet

    迪維希語

    div

    低地德語

    log

    E

    俄語

    ru

    F

    法語

    fra

    菲律賓語

    fil

    芬蘭語

    fin

    梵語

    san

    弗留利語

    fri

    富拉尼語

    ful

    法羅語

    fao

    G

    蓋爾語

    gla

    剛果語

    kon

    高地索布語

    ups

    高棉語

    hkm

    格陵蘭語

    kal

    格魯吉亞語

    geo

    古吉拉特語

    guj

    古希臘語

    gra

    古英語

    eno

    瓜拉尼語

    grn

    H

    韓語

    kor

    荷蘭語

    nl

    胡帕語

    hup

    哈卡欽語

    hak

    海地語

    ht

    豪薩語

    hau

    黑山語

    mot

    J

    吉爾吉斯語

    kir

    加利西亞語

    glg

    加拿大法語

    frn

    加泰羅尼亞語

    cat

    捷克語

    cs

    K

    卡拜爾語

    kab

    卡納達語

    kan

    卡努里語

    kau

    卡舒比語

    kah

    康瓦爾語

    cor

    科薩語

    xho

    科西嘉語

    cos

    克里克語

    cre

    克里米亞韃靼語

    cri

    克林貢語

    kli

    克羅地亞語

    hrv

    克丘亞語

    que

    克什米爾語

    kas

    孔卡尼語

    kok

    庫爾德語

    kur

    L

    拉丁語

    lat

    老撾語

    lao

    羅馬尼亞語

    rom

    拉特加萊語

    lag

    拉脫維亞語

    lav

    林堡語

    lim

    林加拉語

    lin

    盧干達語

    lug

    盧森堡語

    ltz

    盧森尼亞語

    ruy

    盧旺達語

    kin

    立陶宛語

    lit

    羅曼什語

    roh

    羅姆語

    ro

    邏輯語

    loj

    M

    馬來語

    may

    緬甸語

    bur

    馬拉地語

    mar

    馬拉加斯語

    mg

    馬拉雅拉姆語

    mal

    馬其頓語

    mac

    馬紹爾語

    mah

    邁蒂利語

    mai

    曼克斯語

    glv

    毛里求斯克里奧爾語

    mau

    毛利語

    mao

    孟加拉語

    ben

    馬耳他語

    mlt

    苗語

    hmn

    N

    挪威語

    nor

    那不勒斯語

    nea

    南恩德貝萊語

    nbl

    南非荷蘭語

    afr

    南索托語

    sot

    尼泊爾語

    nep

    P

    葡萄牙語

    pt

    旁遮普語

    pan

    帕皮阿門托語

    pap

    普什圖語

    pus

    Q

    齊切瓦語

    nya

    契維語

    twi

    切羅基語

    chr

    R

    日語

    jp

    瑞典語

    swe

    S

    薩丁尼亞語

    srd

    薩摩亞語

    sm

    塞爾維亞-克羅地亞語

    sec

    塞爾維亞語

    srp

    桑海語

    sol

    僧伽羅語

    sin

    世界語

    epo

    書面挪威語

    nob

    斯洛伐克語

    sk

    斯洛文尼亞語

    slo

    斯瓦希里語

    swa

    索馬里語

    som

    塞爾維亞語(西里爾)

    src

    T

    泰語

    th

    土耳其語

    tr

    塔吉克語

    tgk

    泰米爾語

    tam

    他加祿語

    tgl

    提格利尼亞語

    tir

    泰盧固語

    tel

    突尼斯阿拉伯語

    tua

    土庫曼語

    tuk

    W

    烏克蘭語

    ukr

    瓦隆語

    wln

    威爾士語

    wel

    文達語

    ven

    沃洛夫語

    wol

    烏爾都語

    urd

    X

    西班牙語

    spa

    希伯來語

    heb

    希臘語

    el

    匈牙利語

    hu

    西弗里斯語

    fry

    西里西亞語

    sil

    希利蓋農語

    hil

    下索布語

    los

    夏威夷語

    haw

    新挪威語

    nno

    西非書面語

    nqo

    信德語

    snd

    修納語

    sna

    宿務語

    ceb

    敘利亞語

    syr

    巽他語

    sun

    Y

    英語

    en

    印地語

    hi

    印尼語

    id

    意大利語

    it

    越南語

    vie

    意第緒語

    yid

    因特語

    ina

    亞齊語

    ach

    印古什語

    ing

    伊博語

    ibo

    伊多語

    ido

    約魯巴語

    yor

    亞美尼亞語

    arm

    伊努克提圖特語

    iku

    伊朗語

    ir

    Z

    中文(簡體)

    zh

    中文(繁體)

    cht

    中文(文言文)

    wyw

    中文(粵語)

    yue

    扎扎其語

    zaz

    中古法語

    frm

    祖魯語

    zul

    爪哇語

    jav

    錯誤碼列表


    當翻譯結果無法正常返回時,請參考下表處理:

    錯誤碼

    含義

    解決方案

    52000

    成功

    52001

    請求超時

    請重試

    52002

    系統錯誤

    請重試

    52003

    未授權用戶

    請檢查appid是否正確或者服務是否開通

    54000

    必填參數為空

    請檢查是否少傳參數

    54001

    簽名錯誤

    請檢查您的簽名生成方法

    54003

    訪問頻率受限

    請降低您的調用頻率,或進行身份認證后切換為高級版/尊享版

    54004

    賬戶余額不足

    請前往管理控制臺為賬戶充值

    54005

    長query請求頻繁

    請降低長query的發送頻率,3s后再試

    58000

    客戶端IP非法

    檢查個人資料里填寫的IP地址是否正確,可前往開發者信息-基本信息修改

    58001

    譯文語言方向不支持

    檢查譯文語言是否在語言列表里

    58002

    服務當前已關閉

    請前往管理控制臺開啟服務

    90107

    認證未通過或未生效

    請前往我的認證查看認證進度

    詞典、語音合成資源

    詞典和語音合成資源為企業尊享版用戶專屬增值服務。如需使用,請先進行企業認證并開通尊享版服務,之后在開發者信息—通用翻譯API—服務信息處申請開通詞典或語音合成資源,請詳細注明您的使用場景,審核通過后即可使用。
    資源開通后,API 翻譯結果中將默認附帶 dict(詞典)和 tts(語音合成)字段,僅對中英、英中互譯有效。
    詞典資源:

    詞典分中英詞典,由于每個詞屬性不同,詞典結果不一定包含所有部分。
    如源語言為中文,詞典數據包括:拼音、詞性、中文釋義、英文釋義、近義詞等資源。
    如源語言為英文,詞典數據包括:英文釋義、中文釋義、音標、核心詞匯類別等。
    注:單個 query 需為詞、詞組或短語,如 query 為句子,則 dict 字段為空。


    語音合成資源:

    語音合成資源包含 query 原文、譯文的發音,以 mp3 文件格式提供。
    注:單個query內不支持分段,只有1段且字符數量不超過200的query才會返回tts字段。

    自定義術語庫

    自定義術語庫是百度翻譯最新推出的 API 增值服務,如果您認為通用翻譯API對于某些術語翻譯不準確,可在“管理控制臺-我的術語庫”頁面填寫您認為正確的原文和譯文,啟用術語庫,并在接口 URL 增加“&action=1”,即可在翻譯結果中看到干預效果(提交后需等待 10 分鐘方可生效)。

    需要提醒您的是:因翻譯模型并非對術語的一一替換,而是將您填寫的術語翻譯與原翻譯進行對比和計算。如您填寫的翻譯與原譯文差異過大,則可能導致干預后結果有錯亂。此外,術語干預僅適用于專有名詞、術語的自定義,目前暫不支持針對 HTML 代碼(如<p> <div>)原樣輸出,即:您暫時無法在原文和譯文都填寫英文單詞“text”。

    常見問題:

    1. 如何在一次請求中翻譯多個單詞或者多段文本?

    您可以在發送的字段 q 中用換行符(在多數編程語言中為轉義符號 \n。其中 \n 是需要能被程序解析出來的換行符而不是字符串 \n),您可以用換行符來分隔要翻譯的多個單詞或者多段文本,這樣您就能得到多段文本獨立的翻譯結果了。注意在發送請求之前需對 q 字段做 URL encode!

    2. 什么是URL encode?

    網絡標準RFC 1738規定了URL中只能使用英文字母、阿拉伯數字和某些標點符號,不能使用其他文字和符號。如果您需要翻譯的文本里面出現了不在該規定范圍內的字符(比如中文),需要通過URL encode將需要翻譯的文本做URL編碼才能發送HTTP請求。大部分編程語言都有現成的URL encode函數,具體使用方法可以針對您使用的編程語言自行搜索。

    3. 通用翻譯API中,字符數量如何統計?

    字符數量的統計以翻譯的源語言字符長度為標準。一個漢字、一個英文字母、一個標點符號等均記為一個字符。空格、html標簽等均計入在內。

    4. 單次翻譯請求是否有字符數限制?

    為保證您的使用體驗,請將單次翻譯文本長度限定為6000字節以內(漢字約為2000個字符)。此外,高峰時期單次請求文本過長或將導致翻譯超時。您可將query分多次請求。

    5. 為什么我的請求總是返回簽名錯誤(錯誤碼54001)?

    54001表示簽名錯誤,請檢查按照如下步驟檢查您的簽名生成方法是否正確:
    1. appid+q+salt+密鑰 拼接成的字符串做MD5得到32位小寫的sign,確保要翻譯的文本q為UTF8格式;
    2. 在生成簽名拼接 appid+q+salt+密鑰 字符串時,q不需要做URL encode,在生成簽名之后,發送HTTP請求之前才需要對要發送的待翻譯文本字段q做URL encode。很多開發者遇到簽名報錯均是由于拼接sign前就做了URL encode,或在拼接url時對query做了兩次urlencode。如有不明白可前往 https://tool.chinaz.com/tools/urlencode.aspx 驗證;
    3. 如果您無法確認自己生成簽名的結果是否正確,可以將您生成的簽名結果和在MD5在線加密 - MD5加密工具 - MD5在線生成中生成的常規md5加密-32位小寫簽名結果對比;
    4. 如您使用POST方式傳送,Content-Type請指定為:application/x-www-form-urlencoded;
    5. 請參考上方各語言Demo代碼文檔仔細檢查。

    6. 為什么我的請求會返回 54003?

    54003 表示請求頻率超限,請降低您的請求頻率。
    對于標準版服務,您的 QPS(每秒請求量)=1,如需更大頻率,請先進行身份認證,認證通過后可切換為高級版(適用于個人,QPS=10)或尊享版(適用于企業,QPS=100)

    7. 為什么我的請求會返回 52001?

    52001 表示請求超時,請檢查按照如下步驟檢查您的簽名生成方法是否正確:
    1. 您傳入的 query 長度是否超長?建議將原文采用"\n"分段請求;
    2. 如間隔一段時間再次請求,是否可正常返回結果?如果不可以,請檢查您所填寫的原文或譯文語種是否在支持的語種列表里。

    8. 為什么我的請求會返回58003?

    因黑產采用不正當手段收集用戶APPID及密鑰,由此產生的盜刷字符量現象日益猖獗,系統風控增加了 IP 校驗規則,如同一 IP 當日使用多個 APPID 發送翻譯請求,則該IP將被封禁當日請求權限,次日解封。
    但由于 IP 多變,應用場景復雜,難免出現誤傷正常使用的情況。如您屬正常使用,但出現 58003 的提示,請發送郵件至 translate_api@baidu.com,同時提供如下信息。我方在收到郵件后將與您取得聯系,核實后將解除封禁。
    公司名稱:
    產品名稱:
    聯系人:
    聯系方式:
    服務器IP:
    APPID:
    注:
    1)如提供信息不全,將影響審核通過率。
    2)請不要將您的 APPID 及密鑰泄露出去,也不要填寫到任何第三方軟件中,包括“SCITranslate”、“微信學英語”、“Potplayer”等軟件以及各類計算機輔助翻譯工具插件。如因此造成密鑰泄露形成經濟損失,或因此被封禁,百度翻譯將有權拒絕解封。

    9. 如果我需要翻譯整個網頁,尖括號內的標簽無法原樣輸出,怎么辦?

    翻譯API會將傳入的所有字符串當做可翻譯字符,目前暫時無法區分哪些部分需原樣保留,因此 API 不適合直接處理 HTML 文件。您可將 HTML 文件進行譯前處理,抽取出待翻譯文本,傳入 API 翻譯后再回填。

    10. 是否支持對譯文中的術語結果進行修改?

    已認證用戶可進入“管理控制臺→ 我的術語庫”維護術語列表,同時開通“干預通用翻譯API結果”。開通后,您將可對譯文中的術語翻譯結果進行優化和修正。請注意:干預通用翻譯API結果將可能導致翻譯延時增長。因此在無需干預結果時可將開關關閉。
    如術語干預功能無法滿足您的需要,或有更多意見或建議,可聯系translate_api@baidu.com

    11. 我應該如何獲取詞典、語音合成資源結果?

    接入文檔與通用翻譯API一致,接入流程上無變化。與未開通詞典、語音合成服務相比,僅在返回結果處增加 tts、dict 字段,請注意辨別字段名稱。
    舉例:
    (1)query=apple,語言方向為英到中
    未接入資源時,返回結果為:

    {

    ????"from": "en",

    ????"to": "zh",

    ????"trans_result": [

    ????????{

    ????????????"src": "apple",

    ????????????"dst": "蘋果"

    ????????}

    ????]

    }

    接入詞典、語音合成資源后,返回結果為:

    {

    ??"from": "en",

    ??"to": "zh",

    ??"trans_result": [

    ????{

    ??????"src": "apple",

    ??????"dst": "蘋果",

    ??????"src_tts": "https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/95e906875b87d342d7325a36a4e1ab42.mp3",

    ??????"dst_tts": "https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/62f4ff87617655bc1f65e24cf4ed4963.mp3",

    ??????"dict": "{\"lang\":\"1\",\"word_result\":{\"simple_means\":{\"word_name\":\"apple\",\"from\":\"original\",\"word_means\":[\"蘋果\"],\"exchange\":{\"word_pl\":[\"apples\"]},\"tags\":{\"core\":[\"高考\",\"考研\"],\"other\":[\"\"]},\"symbols\":[{\"ph_en\":\"??pl\",\"ph_am\":\"??pl\",\"parts\":[{\"part\":\"n.\",\"means\":[\"蘋果\"]}],\"ph_other\":\"\"}]}}}"

    ????}

    ??]

    }

    (2)query=中國,語言方向為中到英
    未接入資源時,返回結果為:

    {

    ????"from": "zh",

    ????"to": "en",

    ????"trans_result": [

    ????????{

    ????????????"src": "中國",

    ????????????"dst": "China"

    ????????}

    ????]

    }

    接入詞典、語音合成資源后,返回結果為:

    {

    ??"from": "zh",

    ??"to": "en",

    ??"trans_result": [

    ????{

    ??????"src": "中國",

    ??????"dst": "China",

    ??????"src_tts": "https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/d943b8e0e31e8d0ea8879dde5d41f016.mp3",

    ??????"dst_tts": "https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/2e2312a1d33e2ff453f92d5d95277e13.mp3",

    ??????"dict": "{\"lang\":\"0\",\"word_result\":{\"simple_means\":{\"symbols\":[{\"word_symbol\":\"zhōng guó\",\"parts\":[{\"part_name\":\"\",\"means\":[{\"text\":\"China\",\"part\":\"n.\",\"word_mean\":\"China\",\"means\":[\"中國\"]},{\"text\":\"Sino-\",\"part\":\"comb.\",\"word_mean\":\"Sino-\",\"means\":[\"中國的\",\"中國人(的)\"]}]}]}],\"word_name\":\"中國\",\"from\":\"CEDict\",\"word_means\":[\"China\",\"Sino-\"]}}}"

    ????}

    ??]

    }

    12. 我已開通詞典、語音合成資源,但不想在結果中呈現,應該怎么辦?

    如需隱藏詞典、語音合成信息,可在拼接請求參數時附加"&dict=1&tts=1",例如,如僅需隱藏tts字段,完整請求為:

    http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4&tts=1

    13. 我怎樣開通“我的術語庫”功能?

    “我的術語庫”功能面向個人及企業認證用戶開放,您需首先前往“開發者信息”處完成身份認證,認證后即可在管理控制臺看到“我的術語庫”入口。目前自定義術語功能已開通“中文”和“英語”兩個語種,更多語種需求,請發送郵件至translate_api@baidu.com告訴我們。

    14. 為什么我添加了術語卻看不出效果?

    添加術語卻看不出效果,可能出于以下幾個原因:
    1. 添加或修改術語后,需要大約 10 分鐘的生效時間,如果您是剛剛修改過術語,請您耐心等候生效;
    2. 在拼接接口 URL 時,需要在輸入參數中增加“action=1”,詳見輸入參數小節;
    3. 翻譯系統判斷您定義的翻譯與原翻譯差異過大。由于神經網絡翻譯模型中,術語的定制化干預功能并非對翻譯結果的生硬替換,而是類似于“調優”。如果您對術語的定義與原釋義含義差距過大,會導致經計算過后的出現不可控的翻譯結果。如您對術語干預效果不滿意,請與translate_api@baidu.com聯系。

  • 實現代碼
  • import requests
    import hashlib
    inwd=input("輸入你要翻譯的文字(默認英譯中):")
    def is_all_chinese(strs):
    ????for _char in strs:
    ????????if not '\u4e00' <= _char <= '\u9fa5':
    ????????????return False
    ????return True
    #print(is_all_chinese(inwd))#判斷是否全部為中文
    is_chinese=is_all_chinese(inwd)
    if is_chinese==True:
    ????ffrom="zh"
    ????ttram="en"
    ????print("系統檢測到你輸入的全部為中文將自動翻譯為英文!!")
    else:
    ????ffrom="en"
    ????ttram="zh"
    app_id="20201223001037485"#你的百度接口的app_id
    app_password="K3456Mdf6H25wZIHUPw"#對應秘鑰
    salt="1435660288"#隨機數
    ysmd=app_id+inwd+salt+app_password#需要將百度翻譯app_id翻譯接口id和搜索關鍵字+隨機數+秘鑰進行MD5加密轉換
    head = {
    ????"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}


    def md5value(key):
    ????input_name = hashlib.md5()
    ????input_name.update(key.encode("utf-8"))
    ????return (input_name.hexdigest()).lower()
    md5code=md5value(ysmd)
    url_statr="http://api.fanyi.baidu.com/api/trans/vip/translate?q="+inwd+"&from="+ffrom+"&to="+ttram+"&appid=20201223001037485&salt=1435660288&sign="+md5code+"&tts=1&Content-Type=application/x-www-form-urlencoded"
    reponse=requests.get(url_statr,headers=head).json()
    result=reponse
    print("翻譯結果:"+result['trans_result'][0]['dst'])

    4、實現效果

    ?

    總結

    以上是生活随笔為你收集整理的用python写的翻译器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。