溫馨提示×

溫馨提示×

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

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

怎么用python做翻譯程序

發(fā)布時間:2021-12-27 10:23:45 來源:億速云 閱讀:148 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么用python做翻譯程序”,在日常操作中,相信很多人在怎么用python做翻譯程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用python做翻譯程序”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

首先打開有道翻譯的網(wǎng)址:

”http://fanyi.youdao.com/“

怎么用python做翻譯程序

按 f12 打開檢查工具

點(diǎn)擊element瀏覽了一下

發(fā)現(xiàn)html里并沒有我們想要的內(nèi)容

說明它不是靜態(tài)加載的

那應(yīng)該是經(jīng)過動態(tài)Ajax加載的

所以點(diǎn)擊Network,開始它長這樣的

怎么用python做翻譯程序

你會看到啥都沒有

按F5刷新一下就會出現(xiàn)很多網(wǎng)址或文件

這些文件是有道翻譯網(wǎng)頁的組成部分

從上到下依次加載

不過這里不要刷新

不然待會還要花時間找對應(yīng)的信息

1處隨便寫些內(nèi)容

然后點(diǎn)擊XHR(這個先點(diǎn)后點(diǎn)都沒關(guān)系)

然后會在3處跳出一個網(wǎng)址

點(diǎn)擊headers會看見第4處的內(nèi)容

怎么用python做翻譯程序

點(diǎn)擊preview

會發(fā)現(xiàn)里面有我們要翻譯的內(nèi)容和結(jié)果

看來我們找對了方向了

它是以json格式進(jìn)行存儲數(shù)據(jù)的

這對于我們提取數(shù)據(jù)會更加方便

怎么用python做翻譯程序

那居然知道網(wǎng)址后就是提取數(shù)據(jù)

那我們要怎么提取呢

回到我們的headers,在第4處有個網(wǎng)址

這個網(wǎng)址才是真正存儲我們需要的數(shù)據(jù)的網(wǎng)址

繼續(xù)往下看

找到 Request Method

原來它是post方式對服務(wù)器進(jìn)行請求的

那我們要提交什么數(shù)據(jù)呢

繼續(xù)往下看

在From data里發(fā)現(xiàn)了我們想要翻譯的內(nèi)容

看來以下這段就是我們需要提交的數(shù)據(jù)了

怎么用python做翻譯程序

這么多數(shù)據(jù)我們該怎么獲得呢

別急~

我們試著翻譯其他內(nèi)容

看看有哪些值會變

怎么用python做翻譯程序

經(jīng)過對比后發(fā)現(xiàn)

有四個值發(fā)生了變化

分別是”i,salt,sign,ts"這四個

i是我們要翻譯的內(nèi)容

另外三個不知道是什么

后面發(fā)現(xiàn)這三個不用管也可以

知道我們的目標(biāo)在哪后

就是寫代碼進(jìn)行提取數(shù)據(jù)了

因?yàn)槭莏son格式

相當(dāng)于字典

所以很好獲取

因?yàn)榇a不是很多

也不會很難理解

所以有些方面我就不細(xì)講了

直接上代碼

import requestsurl = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"data = {"i":input("輸入要翻譯的內(nèi)容:"),"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","bv": "146ae0587a435b36d5e7ac4d9b08bde6","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action":" FY_BY_REALTlME"}req = requests.post(url,data = data) #以post的方式j(luò)s = req.json()result = js["translateResult"][0][0]["tgt"]print(result)

requests對象有個向服務(wù)器請求有兩種方法

一種是get請求

一種就是今天這種post請求

這兩種有什么區(qū)別呢?

get請求是不用提交表單的

也就是不用提交額外的數(shù)據(jù)

一般用于下載靜態(tài)網(wǎng)頁之類的

post請求就是需要我們提供一些數(shù)據(jù)給服務(wù)器的

比如說登陸就是用post請求

然后post方法里有個data參數(shù)

用來存儲提交的數(shù)據(jù)

它是以字典的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲的

因?yàn)槲覀円獜膉son格式里提取數(shù)據(jù)

所以我們用json方法將下載后的數(shù)據(jù)轉(zhuǎn)換為json格式

最后就跟提取字典一樣操作就OK了

到此,關(guān)于“怎么用python做翻譯程序”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

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

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

AI