91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python如何實現微信翻譯機器人

發布時間:2021-04-06 11:07:48 來源:億速云 閱讀:123 作者:小新 欄目:開發技術

小編給大家分享一下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):
   req_url = 'http://fanyi.youdao.com/translate' # 創建連接接口
   # 創建要提交的數據
   Form_Date = {}
   Form_Date['i'] = content # 輸入要翻譯的內容
   Form_Date['doctype'] = 'json'
 
   data = parse.urlencode(Form_Date).encode('utf-8') # 數據轉換
   response = request.urlopen(req_url, data) # 提交數據并解析
  html = response.read().decode('utf-8') # 服務器返回結果讀取
  # 可以看出html是一個json格式
  translate_results = json.loads(html) # 以json格式載入
  translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式調取
  print(translate_results) # 輸出結果
  itchat.send(translate_results, toUserName=userName) #發送翻譯結果

不了解的同學在仔細看看代碼注釋。

微信收發送消息

關于微信收發送消息呢,可以看看之前Python打造天氣預報機器這一篇文章,代碼是直接從那邊稍加修改搬過來的。

那邊是獲取天氣,這邊是獲取翻譯結果,思路都是一樣的。直接看代碼就可以了:

# 如果對方發的是文字,則我們給對方回復以下的東西
 @itchat.msg_register([TEXT])
 def text_reply(msg):
   match = re.search('翻譯',msg['Text'])
   if match:
     content = msg['Text'][msg['Text'].find("+")+1:]
     translate(msg['FromUserName'], content)
itchat.auto_login()
itchat.run()

我們需要對消息進行匹配分析,以便確定用戶需要的是翻譯功能而不是天氣預報等功能,所以需要利用re進行匹配一下關鍵字。

然后調用translate函數進行獲取發送。

完整代碼:

# 有道翻譯結果獲取
 '''
大致思路如下
 1.  創建連接接口
 
 2.  創建要提交的數據
 
.  將數據轉化為服務器可以處理的信息并提交
.  返回翻譯結果
'''
# 引入python中內置的包json. 用來解析和生成json數據的
import json
import itchat
import re
from itchat.content import *
from urllib import request, parse
def translate(userName, content):
  req_url = 'http://fanyi.youdao.com/translate' # 創建連接接口
  # 創建要提交的數據
  Form_Date = {}
  Form_Date['i'] = content # 輸入要翻譯的內容
  Form_Date['doctype'] = 'json'
  data = parse.urlencode(Form_Date).encode('utf-8') # 數據轉換
  response = request.urlopen(req_url, data) # 提交數據并解析
  html = response.read().decode('utf-8') # 服務器返回結果讀取
  # 可以看出html是一個json格式
  translate_results = json.loads(html) # 以json格式載入
  translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式調取
  print(translate_results) # 輸出結果
  itchat.send(translate_results, toUserName=userName) #發送翻譯結果
# 如果對方發的是文字,則我們給對方回復以下的東西
@itchat.msg_register([TEXT])
def text_reply(msg):
  match = re.search('翻譯',msg['Text'])
  if match:
    content = msg['Text'][msg['Text'].find("+")+1:]
    translate(msg['FromUserName'], content)
itchat.auto_login()
itchat.run()

看完了這篇文章,相信你對“Python如何實現微信翻譯機器人”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祁门县| 铜山县| 新干县| 弋阳县| 乐都县| 都匀市| 淳化县| 枝江市| 祥云县| 商城县| 平阳县| 广灵县| 紫阳县| 辰溪县| 平遥县| 巫溪县| 缙云县| 白河县| 朔州市| 新乡市| 阿图什市| 沂南县| 尖扎县| 调兵山市| 阳朔县| 昭通市| 且末县| 米脂县| 手游| 高碑店市| 葫芦岛市| 福清市| 乐陵市| 望江县| 峡江县| 如东县| 青铜峡市| 衡东县| 临颍县| 深州市| 皮山县|