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 相关文章推荐
python3.4下django集成使用xadmin后台的方法
Aug 15 Python
python实现BackPropagation算法
Dec 14 Python
Python 中字符串拼接的多种方法
Jul 30 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
python实现维吉尼亚算法
Mar 20 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
Django发送邮件功能实例详解
Sep 02 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
python之生成多层json结构的实现
Feb 27 Python
Python装饰器结合递归原理解析
Jul 02 Python
python3中编码获取网页的实例方法
Nov 16 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
php中取得URL的根域名的代码
2011/03/23 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
破解Session cookie的方法
2006/07/28 Javascript
jquery的颜色选择插件实例代码
2008/10/02 Javascript
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
Python telnet登陆功能实现代码
2020/04/16 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
天游软件面试
2013/11/23 面试题
土木工程专业大学毕业生求职信
2013/10/13 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
车辆年检委托书范本
2014/10/14 职场文书
联谊活动总结范文
2015/05/09 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
Python3接口性能测试实例代码
2021/06/20 Python