用python登陆WeChat 实现自动回复(很是详细)

如要转载 麻烦备注好原文出处!!!微信

 

最近实现了一些微信的简单玩法 咱们能够经过网页版的微信微信网页版,扫码登陆后去抓包爬取信息,还能够post去发送信息。post

 

》》安装itchat这个库     pip install itchat

先来段简单的试用,实现微信的登陆,运行下面代码会生成一个二维码,扫码以后手机端确认登陆,就会发送一条信息给‘filehelper’,这个filehelper就是微信上的文件传输助手。spa

 

import itchat

# 登陆
itchat.login()
# 发送消息
itchat.send(u'你好鸭!', 'filehelper')

它会给这个文件传输助手自动发送你好鸭!code

除了登陆和发送消息咱们还能够这么来玩,往下走~blog

 

》》实现微信好友男女比例图片

想统计下本身微信里好友的性别比例,固然也是很简单,先获取好友列表,统计列表里性别计数ip

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))

运行结果:get

》》实现微信自动回复it

接着来实现一个相似qq上的自动回复,原理就是接收到消息,就发消息回去,同时发一条给文件助手,就能够在文件助手中统一查看消息。pip

代码很简单,来看看

#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'])

 

如要转载 麻烦备注好原文出处!!!

完成!

相关文章
相关标签/搜索