python3 呼叫百度翻譯API製作簡單翻譯器

2021-09-25 05:01:40 字數 2346 閱讀 7406

您需要向該位址通過post或get方法傳送下列欄位來訪問服務

簽名是為了保證呼叫安全,使用md5演算法生成的一段字串,生成的簽名長度為 32位,簽名中的英文本元均為小寫格式

from tkinter import *

from urllib import request

from urllib import parse

import json

import hashlib

def translate_word(en_str):

url=''

from_data={} #建立from_data字典,儲存向伺服器傳送的data

from_data['from']='zh'

from_data['to']='en'

from_data['q']=en_str #要翻譯的資料

from_data['salt']='1435660288' #隨機數

key='填寫你的密匙' #平台分配的密匙

m_md5=hashlib.md5(m.encode('utf8'))

from_data['sign']=m_md5.hexdigest()

data=parse.urlencode(from_data).encode('utf-8')

#使用urlencode()方法轉換標準格式

response=request.urlopen(url,data) #傳遞request物件和轉換完格式的資料

html=response.read().decode('utf-8') #讀取資訊並解碼

translate_results=json.loads(html) #使用json

print(translate_results) #列印出json資料

translate_results=translate_results['trans_result'][0]['dst'] #找到翻譯結果

print('翻譯的結果是: %s'%translate_results) #列印翻譯資訊

return translate_results

def leftclick(event):

en_str=entry1.get()

print(en_str)

vtext=translate_word(en_str)

entry2.config(entry2,text=vtext)

s.set("")

entry2.insert(0,vtext)

def leftclick2(event):

s.set("")

entry2.insert(0,"")

if __name__=='__main__':

root=tk()

root.geometry('300x130')

label(root,text='輸入要翻譯的內容:',width=15).place(x=1,y=1)#絕對座標1,1

entry1=entry(root,width=20)

entry1.place(x=120,y=1)

label(root,text='翻譯結果:',width=22).place(x=1,y=20)

s=strin**ar()

s.set('')

entry2=entry(root,width=20,textvariable=s)

entry2.place(x=120,y=20)

button1 = button(root,text='翻譯',width=8)

button1.place(x=80,y=80)

button2 = button(root, text='清空', width=8)

button2.place(x=180, y=80)

#給button設定監聽事件

button1.bind('',leftclick) #翻譯按鈕

button2.bind('',leftclick2) #清空按鈕

使用python呼叫百度翻譯api

注意看一下產品服務,有的服務有字元數量限制超過了要收費。輸入的引數有 簽名生成的演算法 import hashlib 用來計算md5碼 deffanyi shuru header 隨機碼 金鑰 q shuru md5 hashlib.md5 md5.update sign.encode utf 8 ...

尋找百度翻譯引數,實現百度翻譯

author runsen 首先要分析瀏覽器是怎麼傳送請求的。構造請求 找到關鍵請求之後,就要分析請求,然後去構造請求。分析請求有一下幾個要素,url,請求方法,請求頭,請求引數。請求引數有七個,可以通過反覆請求然後比較的方法得出from,to是表示翻譯語言的,transtype,means fla...

python呼叫百度翻譯api 離線語種檢測

import urllib,hashlib import random import requests,sys defgettranstext in text q in text fromlang auto 翻譯源語言 自動檢測 tolang1 en 譯文語言 英文 salt random.rand...