最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法

 更新時(shí)間:2019年08月13日 09:04:32   作者:學(xué)好Python爬蟲  
這篇文章主要介紹了Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

相信大家在日常學(xué)習(xí)或者是閱讀英文文章的過(guò)程中,難免會(huì)出現(xiàn)幾個(gè)不認(rèn)識(shí)的單詞,或者想快速翻譯某段英文的意思。

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

先來(lái)看看效果如何

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

環(huán)境配置:

Python版本:3.6.0

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

IDE:pycharm

相關(guān)模塊:

json模塊

itchat模塊

re模塊

request模塊

parse模塊

以及一些Python自帶的模塊。

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

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

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

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

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

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

還需要把數(shù)據(jù)轉(zhuǎn)換成utf-8的編碼,回來(lái)的數(shù)據(jù)也需要做相應(yīng)的轉(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') # 服務(wù)器返回結(jié)果讀取
  # 可以看出html是一個(gè)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é)果

不了解的同學(xué)在仔細(xì)看看代碼注釋。

微信收發(fā)送消息

關(guān)于微信收發(fā)送消息呢,可以看看之前Python打造天氣預(yù)報(bào)機(jī)器這一篇文章,代碼是直接從那邊稍加修改搬過(guò)來(lái)的。

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

# 如果對(duì)方發(fā)的是文字,則我們給對(duì)方回復(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()

我們需要對(duì)消息進(jìn)行匹配分析,以便確定用戶需要的是翻譯功能而不是天氣預(yù)報(bào)等功能,所以需要利用re進(jìn)行匹配一下關(guān)鍵字。

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

完整代碼:

# 有道翻譯結(jié)果獲取
 '''
大致思路如下
 1.  創(chuàng)建連接接口
 
 2.  創(chuàng)建要提交的數(shù)據(jù)
 
.  將數(shù)據(jù)轉(zhuǎn)化為服務(wù)器可以處理的信息并提交
.  返回翻譯結(jié)果
'''
# 引入python中內(nèi)置的包json. 用來(lái)解析和生成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') # 服務(wù)器返回結(jié)果讀取
  # 可以看出html是一個(gè)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é)果
# 如果對(duì)方發(fā)的是文字,則我們給對(duì)方回復(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()

總結(jié)

以上所述是小編給大家介紹的Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python讀取鍵盤輸入的2種方法

    Python讀取鍵盤輸入的2種方法

    這篇文章主要介紹了Python讀取鍵盤輸入的2種方法,主要使用的就是raw_input函數(shù)和input函數(shù),本文分別給出使用實(shí)例,需要的朋友可以參考下
    2015-06-06
  • Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例

    Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例

    本文主要介紹了Pandas數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)示例,包括處理缺失值、異常值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換和規(guī)范化,以及處理重復(fù)數(shù)據(jù)等操作,感興趣的可以了解一下
    2024-01-01
  • python常用函數(shù)random()函數(shù)詳解

    python常用函數(shù)random()函數(shù)詳解

    這篇文章主要介紹了python常用函數(shù)random()函數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 在Python中調(diào)用Ping命令,批量IP的方法

    在Python中調(diào)用Ping命令,批量IP的方法

    今天小編就為大家分享一篇在Python中調(diào)用Ping命令,批量IP的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 利用python腳本提取Abaqus場(chǎng)輸出數(shù)據(jù)的代碼

    利用python腳本提取Abaqus場(chǎng)輸出數(shù)據(jù)的代碼

    這篇文章主要介紹了利用python腳本提取Abaqus場(chǎng)輸出數(shù)據(jù),利用python腳本對(duì)Abaqus進(jìn)行數(shù)據(jù)提取時(shí),要對(duì)python腳本做前步的導(dǎo)入處理,本文通過(guò)實(shí)例代碼詳細(xì)講解需要的朋友可以參考下
    2022-11-11
  • python?自定義包的實(shí)現(xiàn)示例

    python?自定義包的實(shí)現(xiàn)示例

    如果Python的模塊過(guò)多,可能造成一定的混亂,這時(shí)可以通過(guò)Python包來(lái)管理模塊,本文主要介紹了python?自定義包的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-05-05
  • python去掉行尾的換行符方法

    python去掉行尾的換行符方法

    下面小編就為大家?guī)?lái)一篇python去掉行尾的換行符方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • pycharm中報(bào)ModuleNotFoundError:No?module?named?'tensorflow'錯(cuò)誤解決

    pycharm中報(bào)ModuleNotFoundError:No?module?named?'tensor

    這篇文章主要給大家介紹了關(guān)于pycharm中報(bào)ModuleNotFoundError:No?module?named?'tensorflow'錯(cuò)誤的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Python小紅書旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程

    Python小紅書旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程

    這篇文章主要介紹了Python小紅書旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-08-08
  • python 繪制正態(tài)曲線的示例

    python 繪制正態(tài)曲線的示例

    這篇文章主要介紹了python 繪制正態(tài)曲線的示例,幫助大家更好的利用python繪制圖像,感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論

怀宁县| 竹山县| 武穴市| 遂昌县| 班戈县| 昭通市| 龙南县| 通辽市| 西华县| 黄陵县| 钟祥市| 贵港市| 西青区| 南平市| 炉霍县| 黑河市| 庐江县| 宜川县| 镇赉县| 佛教| 赤壁市| 广宁县| 溆浦县| 高要市| 绥阳县| 汕尾市| 富顺县| 资中县| 鹿邑县| 三河市| 海城市| 县级市| 剑河县| 浦县| 伊春市| 麻江县| 乾安县| 虞城县| 五峰| 蓬莱市| 工布江达县|