python登录WeChat 实现自动回复实例详解


Posted in Python onMay 28, 2019

最近实现了一些微信的简单玩法 我们可以通过网页版的微信微信网页版,扫码登录后去抓包爬取信息,还可以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))

运行结果:

python登录WeChat 实现自动回复实例详解

》》实现微信自动回复

接着来实现一个类似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()

运行后会保持登录状态,开启自动回复模式,手机上查看:

python登录WeChat 实现自动回复实例详解

 python登录WeChat 实现自动回复实例详解

当然,除了文字Text信息,还可以接收图片(表情包算图片),语音,名片,地理位置,分享和类型为Note的信息(就是有人提示类的消息,例如撤回消息),把装饰器写成下面形式即可实现

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

python登录WeChat 实现自动回复实例详解

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
Python过滤列表用法实例分析
Apr 29 Python
利用python获取Ping结果示例代码
Jul 06 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
使用python生成目录树
Mar 29 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
Python实现使用request模块下载图片demo示例
May 24 Python
django最快程序开发流程详解
Jul 19 Python
python db类用法说明
Jul 07 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
Python语言进阶知识点总结
May 28 #Python
python图像和办公文档处理总结
May 28 #Python
python网络应用开发知识点浅析
May 28 #Python
python进程和线程用法知识点总结
May 28 #Python
selenium+python环境配置教程详解
May 28 #Python
Python从函数参数类型引出元组实例分析
May 28 #Python
python面试题Python2.x和Python3.x的区别
May 28 #Python
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
2018/02/05 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
Python中的startswith和endswith函数使用实例
2014/08/25 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
浅析Python函数式编程
2018/10/06 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
Python笔记之代理模式
2019/11/20 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Django设置Postgresql的操作
2020/05/14 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
新护士岗前培训制度
2014/02/02 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
开展创先争优活动总结
2014/08/28 职场文书
pandas进行数据输入和输出的方法详解
2022/03/23 Python