python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例
實例如下:
import urllib.request
import urllib.parse
import json
while True:
content = input('請輸入需要翻譯的內(nèi)容(退出輸入Q):')
if content == 'Q':
break
else:
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
data = {}
data['type'] = 'AUTO'
data['i'] = content
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
target = json.loads(html)
print('翻譯的結(jié)果:%s' % target['translateResult'][0][0]['tgt'])
程序執(zhí)行情況:

這里要注意的是兩個函數(shù)urllib.request.urlopen()與urllib.parse.urlencode()。
urllib.request.urlopen()其實不止一個參數(shù),有好幾個哦,其中第二個是data,data應(yīng)該是一個buffer的標(biāo)準(zhǔn)應(yīng)用程序/ x-www-form-urlencoded格式(python標(biāo)準(zhǔn)庫原文:data should be a buffer in the standard application/x-www-form-urlencoded format)。urllib.parse.urlencode()函數(shù)接受一個映射或序列集合,并返回一個字符串的格式(python標(biāo)準(zhǔn)庫原文:The urllib.parse.urlencode() function takes a mapping or sequence of 2-tuples and returns a string in this format)。我們可以看看urllib.parse.urlencode()的結(jié)果是什么樣的:

上圖的結(jié)果剛好與urllib.request.urlopen()的data參數(shù)的數(shù)據(jù)類型要求一致了。
注意,上面urlopen當(dāng)中的url,這個是分析有道翻譯頁面的真實的Request URL:


以上這篇python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pyqt5之將textBrowser的內(nèi)容寫入txt文檔的方法
今天小編就為大家分享一篇pyqt5之將textBrowser的內(nèi)容寫入txt文檔的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python astype(np.float)函數(shù)使用方法解析
這篇文章主要介紹了Python astype(np.float)函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
Django中使用celery完成異步任務(wù)的示例代碼
本篇文章主要介紹了Django中使用celery完成異步任務(wù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
Python 生成一個從0到n個數(shù)字的列表4種方法小結(jié)
今天小編就為大家分享一篇Python 生成一個從0到n個數(shù)字的列表4種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
利用python庫在局域網(wǎng)內(nèi)傳輸文件的方法
今天小編就為大家分享一篇利用python庫在局域網(wǎng)內(nèi)傳輸文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python list和str互轉(zhuǎn)的實現(xiàn)示例
這篇文章主要介紹了Python list和str互轉(zhuǎn)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python中如何使用sqlite3操作SQLite數(shù)據(jù)庫詳解
這篇文章主要介紹了Python中SQLite數(shù)據(jù)庫的使用,包括連接數(shù)據(jù)庫、創(chuàng)建表、數(shù)據(jù)增刪改查、事務(wù)管理和參數(shù)化查詢等,并提供了操作示例,需要的朋友可以參考下2025-03-03

