日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python httplib_如何用Python做个英语翻译小字典

發布時間:2023/12/19 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python httplib_如何用Python做个英语翻译小字典 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,今天我們來制作一款有圖形界面的翻譯小軟件,下面我們開始吧

|Tkinter模塊介紹

tkinter模塊是一款讓我們有圖形界面的庫,是大部分初學者要學習的。

|urllib包

urllib包里一共有4個模塊,第一個模塊是最復雜也是最重要的,它包含了對服務器請求的發出、跳轉、代理和安全等各方面。

通過urllib.request.urlopen()就可以了

但是我們發現,python爬取的是以utf-8編碼的bytes對象,要對其進行解碼,將他變成unicode:

|實戰:翻譯

在實戰之前,以下3個函數你還會用到:

·geturl()——返回請求的url

·info()——返回一個httplib,HTTPMessage對象

·getcode()——fanhuiHTTP狀態碼

下面開始了:

我們要用到有道詞典來翻譯文本

首先來到翻譯官網(http://fanyi.youdao.com)出現這個畫面:

要使用瀏覽器的“檢查元素”功能,切換到Network窗口,找到translate_o?這項,requestmethod應是POST:

找到上圖所示的headers,里面有各種信息

這是我們就可以開始寫代碼了:

import jsonfrom tkinter import *import?requestsimport base64#翻譯函數,el是要翻譯的,res是翻譯結果def translate(el,res): content = el.get().strip()???#得到要翻譯的內容 url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionForm=http://www.youdao.com/"???#傳輸參數 key = { 'from':'AUTO', 'to':'AUTO', 'i':content, "smartresult":"dict", "client":"fanyideskweb", "version":"2.1", "doctype":"json", "keyform":"fanyi.web", "ue":"UTF-8", "action":"FY_BY_REALTIME",????????}???????#key字典發送給有道服務器????response?=?requests.post(url,data=key) if response.status_code == 200: response = response.text????????#通過json.loads加載成json格式 result = json.loads(response)???????#結果返回到文本框 res.set(result['translateResult'][0][0]['tgt'])???????#判斷是否發送成功''' target = json.loads(html) print("翻譯結果:%s"%(target['translateResult'][0][0]['tgt']))'''?#用做測試def tk(): root=Tk()????root.title("賢談小棧翻譯軟件") root.geometry('450x200') Label(root,text='原文:').place(x=30,y=30) Label(root,text='譯文:').place(x=30,y=70)#設置焦點 el=Entry(root) el.focus() el.place(x=80,y=30,width=250,height=30) ????res?=?StringVar() e2 = Entry(root,textvariable=res) e2.place(x=80,y=70,width=250,height=30) Button(root,text='翻譯',width=10,command=lambda:translate(el,res)).place(x=80,y=120) Button(root,text='退出',width=10,command=root.quit).place(x=240,y=120) #消息循環 mainloop()def main(): tk()if __name__ == '__main__':????main()

|運行結果

結果

|轉換成exe

轉換exe有很多工具,這里用的pyinstaller

cmd里使用pip:

pip install pyinstaller

如果覺得慢可以使用其他網站資源

然后輸入

pyinstaller?-F?-w 文件位置:\fanyi.py

就可以了

生成的exe:

|總結

主要講了python的爬蟲,tkinter模塊。如果你覺得有意思,趕緊點再看分享給身邊的小伙伴吧!(本文原創不易)

總結

以上是生活随笔為你收集整理的python httplib_如何用Python做个英语翻译小字典的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。