用python登錄WeChat 實現自動回復(非常詳細)


如要轉載 麻煩備注好原文出處!!!

 

最近實現了一些微信的簡單玩法 我們可以通過網頁版的微信微信網頁版,掃碼登錄后去抓包爬取信息,還可以post去發送信息。

 

》》安裝itchat這個庫     pip install itchat

先來段簡單的試用,實現微信的登錄,運行下面代碼會生成一個二維碼,掃碼之后手機端確認登錄,就會發送一條信息給‘filehelper’,這個filehelper就是微信上的文件傳輸助手。

 

import itchat

# 登錄
itchat.login()
# 發送消息
itchat.send(u'你好鴨!', 'filehelper')

它會給這個文件傳輸助手自動發送你好鴨!

除了登錄和發送消息我們還可以這么來玩,往下走~

 

》》實現微信好友男女比例

想統計下自己微信里好友的性別比例,當然也是很簡單,先獲取好友列表,統計列表里性別計數

import itchat

# 先登錄
itchat.login()

# 獲取好友列表
friends = itchat.get_friends(update=True)[0:]

# 初始化計數器,有男有女,當然,有些人是不填的
male = female = other = 0

# 遍歷這個列表,列表里第一位是自己,所以從"自己"之后開始計算
# 1表示男性,2女性
for i in friends[1:]:
    sex = i["Sex"]
    if sex == 1:
        male += 1
    elif sex == 2:
        female += 1
    else:
        other += 1

# 總數算上,好計算比例啊~
total = len(friends[1:])

# 好了,打印結果
print (u"男性好友:%.2f%%" % (float(male) / total * 100))
print (u"女性好友:%.2f%%" % (float(female) / total * 100))
print (u"其他:%.2f%%" % (float(other) / total * 100))

運行結果:

》》實現微信自動回復

接着來實現一個類似qq上的自動回復,原理就是接收到消息,就發消息回去,同時發一條給文件助手,就可以在文件助手中統一查看消息。

代碼很簡單,來看看

#coding=utf8
import itchat

# 自動回復
# 封裝好的裝飾器,當接收到的消息是Text,即文字消息
@itchat.msg_register('Text')
def text_reply(msg):
    # 當消息不是由自己發出的時候
    if not msg['FromUserName'] == myUserName:
        # 發送一條提示給文件助手
        itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
                        (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
                         msg['User']['NickName'],
                         msg['Text']), 'filehelper')
        # 回復給好友
        return u'[自動回復]您好,我現在有事不在,一會再和您聯系。\n已經收到您的的信息:%s\n' % (msg['Text'])

if __name__ == '__main__':
    itchat.auto_login()

    # 獲取自己的UserName
    myUserName = itchat.get_friends(update=True)[0]["UserName"]
    itchat.run()

運行后會保持登錄狀態,開啟自動回復模式,手機上查看:

 

 

 

當然,除了文字Text信息,還可以接收圖片(表情包算圖片),語音,名片,地理位置,分享和類型為Note的信息(就是有人提示類的消息,例如撤回消息),把裝飾器寫成下面形式即可實現

@itchat.msg_register(['Map', 'Card', 'Note', 'Sharing', 'Picture','Text'])

 

如要轉載 麻煩備注好原文出處!!!

完成!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM