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使用内置json模块解析json格式数据的方法
Jul 20 Python
详解python中的 is 操作符
Dec 26 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
python and or用法详解
Jun 26 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 Python
pycharm无法安装cv2模块问题
May 20 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php如何连接sql server
2015/10/16 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
JS原型链怎么理解
2016/06/27 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
2016/11/02 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
python numpy数组中的复制知识解析
2020/02/03 Python
Python with语句用法原理详解
2020/07/03 Python
Python调用JavaScript代码的方法
2020/10/27 Python
Python-split()函数实例用法讲解
2020/12/18 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
电子商务个人职业生涯规划范文
2014/02/12 职场文书
党员自我对照检查材料
2014/08/19 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript