您需要向該位址通過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...