python实现离线翻译_10分钟教你用Python实现微信翻译机器人
相信大家在日常學習或者是閱讀英文文章的過程中,難免會出現幾個不認識的單詞,或者想快速翻譯某段英文的意思。
今天,利用Python爬蟲等知識,教大家打造一個微信下的翻譯小助手。好吧,開始干活。
先來看看效果如何
發送要翻譯的內容給我們的翻譯小助手,它會自動回復翻譯好的內容。
環境配置:
Python版本:3.6.0
系統平臺:Windows 10 X64
IDE:pycharm
相關模塊:
json模塊
itchat模塊
re模塊
request模塊
parse模塊
以及一些Python自帶的模塊。
根據內容獲取翻譯的結果
這里使用的是有道翻譯API接口。大致思路說一下:
1. 創建連接接口
2. 創建要提交的數據
3. 將數據轉化為服務器可以處理的信息并提交
4. 返回翻譯結果
這部分功能我們封裝成一個函數,參數是需要發送的微信用戶名,需要翻譯的內容。
數據格式我們是以json的格式發送過去的,然后獲取的也是json的數據格式,該過程需要做些轉換。
還需要把數據轉換成utf-8的編碼,回來的數據也需要做相應的轉換和解析,具體看下面代碼:
def?translate(userName,?content):
'http://fanyi.youdao.com/translate'??#?創建連接接口
#?創建要提交的數據
'i']?=?content??#?輸入要翻譯的內容
'doctype']?=?'json'
'utf-8')??#?數據轉換
#?提交數據并解析
'utf-8')??#?服務器返回結果讀取
#?可以看出html是一個json格式
#?以json格式載入
'translateResult'][0][0]['tgt']??#?json格式調取
#?輸出結果
#發送翻譯結果
不了解的同學在仔細看看代碼注釋。
微信收發送消息
關于微信收發送消息呢,可以看看之前Python打造天氣預報機器這一篇文章,代碼是直接從那邊稍加修改搬過來的。
那邊是獲取天氣,這邊是獲取翻譯結果,思路都是一樣的。直接看代碼就可以了:
#?如果對方發的是文字,則我們給對方回復以下的東西
@itchat.msg_register([TEXT])
def?text_reply(msg):
'翻譯',msg['Text'])
if?match:
'Text'][msg['Text'].find("+")+1:]
'FromUserName'],?content)
我們需要對消息進行匹配分析,以便確定用戶需要的是翻譯功能而不是天氣預報等功能,所以需要利用re進行匹配一下關鍵字。
然后調用translate函數進行獲取發送。
完整代碼:
#?有道翻譯結果獲取
'''
#?引入python中內置的包json.?用來解析和生成json數據的
import?json
import?itchat
import?re
from?itchat.content?import?*
from?urllib?import?request,?parse
def?translate(userName,?content):
'http://fanyi.youdao.com/translate'??#?創建連接接口
#?創建要提交的數據
'i']?=?content??#?輸入要翻譯的內容
'doctype']?=?'json'
'utf-8')??#?數據轉換
#?提交數據并解析
'utf-8')??#?服務器返回結果讀取
#?可以看出html是一個json格式
#?以json格式載入
'translateResult'][0][0]['tgt']??#?json格式調取
#?輸出結果
#發送翻譯結果
#?如果對方發的是文字,則我們給對方回復以下的東西
@itchat.msg_register([TEXT])
def?text_reply(msg):
'翻譯',msg['Text'])
if?match:
'Text'][msg['Text'].find("+")+1:]
'FromUserName'],?content)
注:代碼文件的獲取請移步留言區。
好了,今天的分享就到這里,喜歡的話記得分享和轉發哦。
總結
以上是生活随笔為你收集整理的python实现离线翻译_10分钟教你用Python实现微信翻译机器人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLServer常用的配置函数笔记
- 下一篇: 无源蜂鸣器c语言编程,无源蜂鸣器+LED