日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現微信翻譯機器人的方法

系統 1708 0

相信大家在日常學習或者是閱讀英文文章的過程中,難免會出現幾個不認識的單詞,或者想快速翻譯某段英文的意思。

今天,利用Python爬蟲等知識,教大家打造一個微信下的翻譯小助手。好吧,開始干活。

先來看看效果如何

發送要翻譯的內容給我們的翻譯小助手,它會自動回復翻譯好的內容。

Python實現微信翻譯機器人的方法_第1張圖片

環境配置:

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實現微信翻譯機器人的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 文安县| 伊川县| 库伦旗| 贡觉县| 呼玛县| 秭归县| 珲春市| 南昌市| 灵璧县| 威海市| 桂阳县| 赫章县| 筠连县| 兴宁市| 嘉兴市| 彩票| 霞浦县| 简阳市| 斗六市| 庆阳市| 上杭县| 津市市| 和平区| 济源市| 佛坪县| 盐源县| 天水市| 万年县| 武功县| 二连浩特市| 秦安县| 红桥区| 天水市| 蒙自县| 承德市| 山东| 清新县| 图们市| 八宿县| 余姚市| 太白县|