溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python 20行簡(jiǎn)單實(shí)現(xiàn)有道在線翻譯的詳解

發(fā)布時(shí)間:2020-10-10 02:09:39 來源:腳本之家 閱讀:134 作者:kongfu_cat 欄目:開發(fā)技術(shù)

簡(jiǎn)介

主要是嘗試簡(jiǎn)單的使用pyhton的爬蟲功能,于是使用有道進(jìn)行嘗試,并沒有進(jìn)行深入的諸如相關(guān)api的調(diào)用。

以下是需要的POST數(shù)據(jù)

Python 20行簡(jiǎn)單實(shí)現(xiàn)有道在線翻譯的詳解

代碼

以下是相關(guān)部分的代碼:

import urllib.request
import urllib.parse
import json

content=input('需要翻譯的內(nèi)容:')
#翻譯內(nèi)容

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/'
#有道翻譯查詢?nèi)肟?data = {  #表單數(shù)據(jù)
   'i': content,
   'from': 'AUTO',
   'to': 'AUTO',
   'smartresult': 'dict',
   'client': 'fanyideskweb',
   'doctype': 'json',
   'version': '2.1',
   'keyfrom': 'fanyi.web',
   'action': 'FY_BY_CLICKBUTTION',
   'typoResult': 'false'
  }

data=urllib.parse.urlencode(data).encode('utf-8')
#對(duì)POST數(shù)據(jù)進(jìn)行編碼

response=urllib.request.urlopen(url,data)
#發(fā)出POST請(qǐng)求并獲取HTTP響應(yīng)

html=response.read().decode('utf-8')
#獲取網(wǎng)頁(yè)內(nèi)容,并進(jìn)行解碼解碼

target=json.loads(html)
#json解析

print("\n翻譯結(jié)果:%s"%target['translateResult'][0][0]['tgt'])
#輸出翻譯結(jié)果

重要函數(shù)

urllib.request.urlopen()——發(fā)送POST數(shù)據(jù),同時(shí)返回響應(yīng)

urllib.parse.urlencode()——對(duì)POST數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換

json.loads()——進(jìn)行json解析

以上所述是小編給大家介紹的Python實(shí)現(xiàn)有道在線翻譯的方法詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI