您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用python做翻譯程序”,在日常操作中,相信很多人在怎么用python做翻譯程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用python做翻譯程序”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
首先打開有道翻譯的網址:
”http://fanyi.youdao.com/“
按 f12 打開檢查工具
點擊element瀏覽了一下
發現html里并沒有我們想要的內容
說明它不是靜態加載的
那應該是經過動態Ajax加載的
所以點擊Network,開始它長這樣的
你會看到啥都沒有
按F5刷新一下就會出現很多網址或文件
這些文件是有道翻譯網頁的組成部分
從上到下依次加載
不過這里不要刷新
不然待會還要花時間找對應的信息
在1處隨便寫些內容
然后點擊XHR(這個先點后點都沒關系)
然后會在3處跳出一個網址
點擊headers會看見第4處的內容
點擊preview
會發現里面有我們要翻譯的內容和結果
看來我們找對了方向了
它是以json格式進行存儲數據的
這對于我們提取數據會更加方便
那居然知道網址后就是提取數據
那我們要怎么提取呢
回到我們的headers,在第4處有個網址
這個網址才是真正存儲我們需要的數據的網址
繼續往下看
找到 Request Method
原來它是post方式對服務器進行請求的
那我們要提交什么數據呢
繼續往下看
在From data里發現了我們想要翻譯的內容
看來以下這段就是我們需要提交的數據了
這么多數據我們該怎么獲得呢
別急~
我們試著翻譯其他內容
看看有哪些值會變
經過對比后發現
有四個值發生了變化
分別是”i,salt,sign,ts"這四個
i是我們要翻譯的內容
另外三個不知道是什么
后面發現這三個不用管也可以
知道我們的目標在哪后
就是寫代碼進行提取數據了
因為是json格式
相當于字典
所以很好獲取
因為代碼不是很多
也不會很難理解
所以有些方面我就不細講了
直接上代碼
import requestsurl = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"data = {"i":input("輸入要翻譯的內容:"),"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的方式js = req.json()result = js["translateResult"][0][0]["tgt"]print(result)
requests對象有個向服務器請求有兩種方法
一種是get請求
一種就是今天這種post請求
這兩種有什么區別呢?
get請求是不用提交表單的
也就是不用提交額外的數據
一般用于下載靜態網頁之類的
post請求就是需要我們提供一些數據給服務器的
比如說登陸就是用post請求
然后post方法里有個data參數
用來存儲提交的數據
它是以字典的數據結構進行存儲的
因為我們要從json格式里提取數據
所以我們用json方法將下載后的數據轉換為json格式
最后就跟提取字典一樣操作就OK了
到此,關于“怎么用python做翻譯程序”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。