最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

 更新時(shí)間:2020年04月02日 09:44:36   作者:徐海建  
這篇文章主要介紹了Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

本人英語不好,很多詞組不認(rèn)識,只能借助工具;百度翻譯和谷歌翻譯都不錯(cuò),近期自學(xué)Python,就想能否自己設(shè)計(jì)一個(gè)百度翻譯軟件呢?

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

百度翻譯開放平臺是百度翻譯面向廣大開發(fā)者提供開放服務(wù)的平臺。

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

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

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

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

通用翻譯API通過HTTP接口對外提供多語種互譯服務(wù)。您只需要通過調(diào)用通用翻譯API,傳入待翻譯的內(nèi)容,并指定要翻譯的源語言(支持源語言語種自動(dòng)檢測)和目標(biāo)語言種類,就可以得到相應(yīng)的翻譯結(jié)果。

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

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

完整代碼:

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)

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

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

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

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

修改運(yùn)行后,結(jié)果還是亂碼:

增加轉(zhuǎn)碼后,顯示正常,完整代碼如下:

#/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()

  #轉(zhuǎn)碼
  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,大家可以對比下區(qū)別:

#/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()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 匿名函數(shù)與三元運(yùn)算學(xué)習(xí)筆記

    python 匿名函數(shù)與三元運(yùn)算學(xué)習(xí)筆記

    這篇文章主要介紹了python 匿名函數(shù)與三元運(yùn)算的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python 編程,感興趣的朋友可以了解下
    2020-10-10
  • python政策網(wǎng)字體反爬實(shí)例(附完整代碼)

    python政策網(wǎng)字體反爬實(shí)例(附完整代碼)

    大家好,本篇文章主要講的是python政策網(wǎng)字體反爬實(shí)例(附完整代碼),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • windows下python安裝paramiko模塊和pycrypto模塊(簡單三步)

    windows下python安裝paramiko模塊和pycrypto模塊(簡單三步)

    這篇文章主要給大家介紹了通過簡單的三個(gè)步驟在windows下python中安裝paramiko模塊和pycrypto模塊的相關(guān)資料,文中安裝的步驟,簡單而且又易于大家理解,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能示例

    Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能,結(jié)合完整實(shí)例形式分析了Python基于手機(jī)號與身份證算法實(shí)現(xiàn)隨機(jī)手機(jī)號及身份證的生成功能,涉及Python日期、隨機(jī)數(shù)、文件讀取等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • python創(chuàng)建列表并給列表賦初始值的方法

    python創(chuàng)建列表并給列表賦初始值的方法

    這篇文章主要介紹了python創(chuàng)建列表并給列表賦初始值的方法,涉及Python列表的定義與賦值技巧,需要的朋友可以參考下
    2015-07-07
  • 使用Selenium實(shí)現(xiàn)微博爬蟲(預(yù)登錄、展開全文、翻頁)

    使用Selenium實(shí)現(xiàn)微博爬蟲(預(yù)登錄、展開全文、翻頁)

    這篇文章主要介紹了使用Selenium實(shí)現(xiàn)微博爬蟲(預(yù)登錄、展開全文、翻頁),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Django 2.0版本的新特性搶先看!

    Django 2.0版本的新特性搶先看!

    12 月 2 日,Python Web 開發(fā)框架 Django 官網(wǎng)發(fā)文宣布推送 Django 2.0 版。在 Django 2.0 的發(fā)布說明中,最大吸引注意的內(nèi)容就是兼容性。,下面這篇文章主要給大家介紹了關(guān)于Django 2.0版本的新特性的相關(guān)資料,需要的朋友可以參考下。
    2018-01-01
  • python 使用cycle構(gòu)造無限循環(huán)迭代器

    python 使用cycle構(gòu)造無限循環(huán)迭代器

    這篇文章主要介紹了python 使用cycle構(gòu)造無限循環(huán)迭代器的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • Python使用jpype模塊調(diào)用jar包過程解析

    Python使用jpype模塊調(diào)用jar包過程解析

    這篇文章主要介紹了Python使用jpype模塊調(diào)用jar包過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • numpy中的transpose函數(shù)中具體使用方法

    numpy中的transpose函數(shù)中具體使用方法

    本文主要介紹了numpy中的transpose函數(shù)中具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論

常山县| 恩平市| 民县| 寿阳县| 肥城市| 丰县| 勃利县| 阿拉善左旗| 大洼县| 冀州市| 焉耆| 布尔津县| 禄丰县| 宁明县| 樟树市| 通辽市| 扶风县| 新蔡县| 兴安盟| 丽江市| 大埔县| 乌兰察布市| 册亨县| 博罗县| 衡水市| 田阳县| 临西县| 正阳县| 绿春县| 铁岭市| 金乡县| 拉孜县| 大安市| 名山县| 阿鲁科尔沁旗| 秦安县| 新郑市| 同德县| 建宁县| 景泰县| 长兴县|