溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

發(fā)布時(shí)間:2020-07-18 11:51:06 來(lái)源:億速云 閱讀:137 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

近來(lái),打開(kāi)微信群發(fā)消息,就會(huì)秒收到一些活躍分子的回復(fù),有的時(shí)候感覺(jué)對(duì)方回答很在理,但是有的時(shí)候發(fā)現(xiàn)對(duì)方的回答其實(shí)是驢唇不對(duì)馬嘴,仔細(xì)深究發(fā)現(xiàn),原來(lái)對(duì)方是機(jī)器人。今天,小編就帶大家用20行代碼,帶你一起打造一個(gè)微信聊天機(jī)器人,讓你的微信群一直嗨不停~~

首先我們需要安裝一個(gè)微信相關(guān)的第三方庫(kù),itchat,在Windows上通過(guò)命令:pip install itchat,就可以將其安裝。

其二,我們需要去圖靈機(jī)器人官網(wǎng):http://www.tuling123.com,注冊(cè)一下,即可獲得一個(gè)機(jī)器人API。過(guò)程很簡(jiǎn)單,小伙伴不用擔(dān)心,兩分鐘就可以搞定了,在如下的界面進(jìn)行機(jī)器人名稱、應(yīng)用領(lǐng)域、終端進(jìn)行設(shè)置即可。

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

創(chuàng)建機(jī)器人

之后就會(huì)得到一個(gè)機(jī)器人API,如下圖所示:

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

機(jī)器人API

當(dāng)然你也可以綁定微信號(hào)、微信公眾號(hào)或者扣扣、微博等。其實(shí)很多的淘寶店、京東商城也都是這種套路,只不過(guò)那些機(jī)器人更加“聰明”些,比較是高價(jià)買(mǎi)入的,而我們使用的只是免費(fèi)的版本,但是對(duì)于我們本著玩玩的心態(tài)來(lái)說(shuō),已經(jīng)非常不錯(cuò)了。

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

上述準(zhǔn)備工作完成之后,我們就要開(kāi)始寫(xiě)代碼了。打開(kāi)pycharm,具體代碼如下圖所示:

import itchat
import requests
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key': '180b4304b4b647d3b1920caf60f', /# Tuling Key,API的值
'info': msg, /# 發(fā)出去的消息
'userid': 'xuebaobao', /# 用戶名。隨意設(shè)置
}
r = requests.post(apiUrl, data=data).json() /# post請(qǐng)求
return r.get('text')
@itchat.msg_register(itchat.content.TEXT) /# 用于接收來(lái)自朋友間的對(duì)話消息
def print_content(msg):
return get_response(msg['Text'])
@itchat.msg_register([itchat.content.TEXT], isGroupChat=True) /# 用于接收群里面的對(duì)話消息
def print_content(msg):
return get_response(msg['Text'])
itchat.auto_login(hotReload==True) /# 通過(guò)微信掃描二維碼登錄
itchat.run()

之后右鍵運(yùn)行程序,爾后會(huì)彈出二維碼,之后在手機(jī)上進(jìn)行掃碼授權(quán),讓機(jī)器人登錄即可。這個(gè)過(guò)程需要耐心的等待一小會(huì),接下來(lái)只要你的微信好友或者微信群發(fā)來(lái)任何消息,你都會(huì)立馬自動(dòng)進(jìn)行回復(fù),根本停不下來(lái)。如果只需要在微信群中回復(fù)的話,那么只需要把微信好友接收消息的方法進(jìn)行注釋即可,同理,微信群也是如此。

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

圖靈機(jī)器人

最后安利一下,itchat.auto_login()方法。這個(gè)方法的意思是通過(guò)微信掃描二維碼登錄。但是這種登錄的方式確實(shí)短時(shí)間的登錄,并不會(huì)保留登錄的狀態(tài),也就是下次登錄時(shí)還是需要掃描二維碼,如果加上hotReload==True的話,那么就會(huì)保留登錄的狀態(tài),至少在后面的幾次登錄過(guò)程中不會(huì)再次掃描二維碼,該參數(shù)生成一個(gè)靜態(tài)文件itchat.pkl,和實(shí)現(xiàn)機(jī)器人這個(gè)代碼在同一個(gè)目錄下,其作用是用于存儲(chǔ)登錄狀態(tài)。

Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析

機(jī)器人聊天圖

看完上述內(nèi)容,是不是對(duì)Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人的實(shí)例解析有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI