真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python如何實現(xiàn)微信翻譯機器人-創(chuàng)新互聯(lián)

小編給大家分享一下Python如何實現(xiàn)微信翻譯機器人,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

為河間等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及河間網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、網(wǎng)站設計、河間網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

功能:

發(fā)送要翻譯的內(nèi)容給我們的翻譯小助手,它會自動回復翻譯好的內(nèi)容。

環(huán)境配置:

Python版本:3.6.0

系統(tǒng)平臺:Windows 10 X64

IDE:pycharm

相關模塊:

json模塊

itchat模塊

re模塊

request模塊

parse模塊

以及一些Python自帶的模塊。

根據(jù)內(nèi)容獲取翻譯的結(jié)果

這里使用的是有道翻譯API接口。大致思路說一下:

1. 創(chuàng)建連接接口 2. 創(chuàng)建要提交的數(shù)據(jù) 3. 將數(shù)據(jù)轉(zhuǎn)化為服務器可以處理的信息并提交

4. 返回翻譯結(jié)果

這部分功能我們封裝成一個函數(shù),參數(shù)是需要發(fā)送的微信用戶名,需要翻譯的內(nèi)容。

數(shù)據(jù)格式我們是以json的格式發(fā)送過去的,然后獲取的也是json的數(shù)據(jù)格式,該過程需要做些轉(zhuǎn)換。

還需要把數(shù)據(jù)轉(zhuǎn)換成utf-8的編碼,回來的數(shù)據(jù)也需要做相應的轉(zhuǎn)換和解析,具體看下面代碼:

def translate(userName, content):
   req_url = 'http://fanyi.youdao.com/translate' # 創(chuàng)建連接接口
   # 創(chuàng)建要提交的數(shù)據(jù)
   Form_Date = {}
   Form_Date['i'] = content # 輸入要翻譯的內(nèi)容
   Form_Date['doctype'] = 'json'
 
   data = parse.urlencode(Form_Date).encode('utf-8') # 數(shù)據(jù)轉(zhuǎn)換
   response = request.urlopen(req_url, data) # 提交數(shù)據(jù)并解析
  html = response.read().decode('utf-8') # 服務器返回結(jié)果讀取
  # 可以看出html是一個json格式
  translate_results = json.loads(html) # 以json格式載入
  translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式調(diào)取
  print(translate_results) # 輸出結(jié)果
  itchat.send(translate_results, toUserName=userName) #發(fā)送翻譯結(jié)果

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

微信收發(fā)送消息

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

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

# 如果對方發(fā)的是文字,則我們給對方回復以下的東西
 @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進行匹配一下關鍵字。

然后調(diào)用translate函數(shù)進行獲取發(fā)送。

完整代碼:

# 有道翻譯結(jié)果獲取
 '''
大致思路如下
 1.  創(chuàng)建連接接口
 
 2.  創(chuàng)建要提交的數(shù)據(jù)
 
.  將數(shù)據(jù)轉(zhuǎn)化為服務器可以處理的信息并提交
.  返回翻譯結(jié)果
'''
# 引入python中內(nèi)置的包json. 用來解析和生成json數(shù)據(jù)的
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' # 創(chuàng)建連接接口
  # 創(chuàng)建要提交的數(shù)據(jù)
  Form_Date = {}
  Form_Date['i'] = content # 輸入要翻譯的內(nèi)容
  Form_Date['doctype'] = 'json'
  data = parse.urlencode(Form_Date).encode('utf-8') # 數(shù)據(jù)轉(zhuǎn)換
  response = request.urlopen(req_url, data) # 提交數(shù)據(jù)并解析
  html = response.read().decode('utf-8') # 服務器返回結(jié)果讀取
  # 可以看出html是一個json格式
  translate_results = json.loads(html) # 以json格式載入
  translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式調(diào)取
  print(translate_results) # 輸出結(jié)果
  itchat.send(translate_results, toUserName=userName) #發(fā)送翻譯結(jié)果
# 如果對方發(fā)的是文字,則我們給對方回復以下的東西
@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如何實現(xiàn)微信翻譯機器人”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)頁標題:Python如何實現(xiàn)微信翻譯機器人-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/pjhgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部