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

歡迎訪問 生活随笔!

生活随笔

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

python

python实现离线翻译_10分钟教你用Python实现微信翻译机器人

發布時間:2023/12/10 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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实现微信翻译机器人的全部內容,希望文章能夠幫你解決所遇到的問題。

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