亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python通過百度翻譯API實現翻譯功能的示例

發布時間:2021-02-01 10:19:42 來源:億速云 閱讀:348 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Python通過百度翻譯API實現翻譯功能的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

本人英語不好,很多詞組不認識,只能借助工具;百度翻譯和谷歌翻譯都不錯,近期自學Python,就想能否自己設計一個百度翻譯軟件呢?

百度翻譯開放平臺:http://api.fanyi.baidu.com/api/trans/product/index

Python通過百度翻譯API實現翻譯功能的示例

百度翻譯開放平臺是百度翻譯面向廣大開發者提供開放服務的平臺。

服務涵蓋:通用翻譯API、定制化翻譯API、語音翻譯SDK、拍照翻譯SDK等,并持續更新中。自己用通用的即可。

通用翻譯API采用全流程自助申請的模式。點擊網站上方的“登錄”按鈕,以百度賬號登錄平臺;在產品服務頁面點擊“立即使用”,按照頁面提示信息注冊成為開發者,即可獲得APPID和密鑰信息。同一百度賬號或手機號碼僅能申請一組APPID和密鑰信息,該APPID和密鑰信息可用于多項服務調用

已注冊開發者的用戶,可在產品服務頁面點擊“立即使用”或者在管理控制臺開通通用翻譯API服務;如需開通更多服務,可在管理控制臺-總覽頁面開通其他服務。

Python通過百度翻譯API實現翻譯功能的示例

通用翻譯API技術文檔 http://api.fanyi.baidu.com/api/trans/product/apidoc

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

通用翻譯API HTTP地址:http://api.fanyi.baidu.com/api/trans/vip/translate

通用翻譯API HTTPS地址:https://fanyi-api.baidu.com/api/trans/vip/translate

Python通過百度翻譯API實現翻譯功能的示例

Python通過百度翻譯API實現翻譯功能的示例

完整代碼:

import json
import random
import hashlib
from urllib import parse
import http.client

class BaiduTranslate:
  def __init__(self,fromLang,toLang):
    self.url = "/api/trans/vip/translate"
    self.appid="xxxxx" #申請的賬號
    self.secretKey = 'xxxxx'#賬號密碼
    self.fromLang = fromLang
    self.toLang = toLang
    self.salt = random.randint(32768, 65536)

  def BdTrans(self,text):
    sign = self.appid + text + str(self.salt) + self.secretKey
    md = hashlib.md5()
    md.update(sign.encode(encoding='utf-8'))
    sign = md.hexdigest()
    myurl = self.url + \
        '?appid=' + self.appid + \
        '&q=' + parse.quote(text) + \
        '&from=' + self.fromLang + \
        '&to=' + self.toLang + \
        '&salt=' + str(self.salt) + \
        '&sign=' + sign
    try:
      httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
      httpClient.request('GET', myurl)
      response = httpClient.getresponse()
      html = response.read().decode('utf-8')
      html = json.loads(html)
      dst = html["trans_result"][0]["dst"]
      return True , dst
    except Exception as e:
      return False , e
if __name__=='__main__':
  BaiduTranslate_test = BaiduTranslate('en','zh')
  Results = BaiduTranslate_test.BdTrans("Hello, World!")#要翻譯的詞組
  print(Results)

Python通過百度翻譯API實現翻譯功能的示例

官方demo,應該是在Python2中運行的,Python3中可能無法運行,原因應該是沒有安裝對應的庫和語法的問題,

查找各種資料發現原來Python 2.x中的"httplib"模塊在Python 3.x中變成了"http.client",

print語句輸出在3.x中要加(), MD5 要換成hashlib,

import hashlib
str1 = "中國是一個偉大的國家,中華民族是一個偉大的民族"
md5 = hashlib.md5()
md5.update(str1.encode("utf-8"))  # 注意這里必須要編碼,否則報錯
print(md5.hexdigest())

修改運行后,結果還是亂碼:

Python通過百度翻譯API實現翻譯功能的示例

增加轉碼后,顯示正常,完整代碼如下:

#/usr/bin/env python
#coding=utf8

import json
import http.client  #修改引用的模塊
import hashlib    #修改引用的模塊
from urllib import parse
import random

appid = 'xxxx' #你的appid
secretKey = 'xxxx' #你的密鑰
 
httpClient = None
myurl = '/api/trans/vip/translate'
q = 'good'
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)

sign = appid+q+str(salt)+secretKey
m1 = hashlib.md5()
m1.update(sign.encode("utf-8"))
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign

try:
  httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
  httpClient.request('GET', myurl)
  response = httpClient.getresponse()

  #轉碼
  html = response.read().decode('utf-8')
  html = json.loads(html)
  dst = html["trans_result"][0]["dst"]
  print(dst)
except Exception as e:
  print(e)
finally:
  if httpClient:
    httpClient.close()

以下是官方demo,大家可以對比下區別:

#/usr/bin/env python
#coding=utf8

import httplib
import md5
import urllib
import random

appid = '' #你的appid
secretKey = '' #你的密鑰

 
httpClient = None
myurl = '/api/trans/vip/translate'
q = 'apple'
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)

sign = appid+q+str(salt)+secretKey
m1 = md5.new()
m1.update(sign)
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
 
try:
  httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
  httpClient.request('GET', myurl)
 
  #response是HTTPResponse對象
  response = httpClient.getresponse()
  print response.read()
except Exception, e:
  print e
finally:
  if httpClient:
    httpClient.close()

關于“Python通過百度翻譯API實現翻譯功能的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博兴县| 罗山县| 揭东县| 兰溪市| 北碚区| 建始县| 呼和浩特市| 修文县| 曲阜市| 上蔡县| 库车县| 卫辉市| 吉木萨尔县| 中江县| 张家川| 昌平区| 临桂县| 昌吉市| 云霄县| 夏河县| 寿阳县| 淮北市| 信阳市| 威海市| 彭泽县| 沾化县| 抚松县| 乌拉特中旗| 浙江省| 林甸县| 临夏县| 中方县| 呼玛县| 旬邑县| 新干县| 蓬溪县| 时尚| 竹山县| 兴和县| 曲松县| 峡江县|