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发送arp欺骗攻击代码分析
Jan 16 Python
python类参数self使用示例
Feb 17 Python
python函数局部变量用法实例分析
Aug 04 Python
python黑魔法之参数传递
Feb 12 Python
Python中的is和==比较两个对象的两种方法
Sep 06 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
Python中的引用知识点总结
May 20 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Python使用configparser库读取配置文件
Feb 22 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
浅谈Python __init__.py的作用
Oct 28 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
ThinkPHP php 框架学习笔记
2009/10/30 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
Open and Print a Word Document
2007/06/15 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
Vue项目环境搭建详细总结
2019/09/26 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
python 使用get_argument获取url query参数
2017/04/28 Python
深入浅析Python传值与传址
2018/07/10 Python
python获取交互式ssh shell的方法
2019/02/14 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
幼儿发展评估方案
2014/06/11 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
消防演习感想
2015/08/10 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
SQL Server Agent 服务无法启动
2022/04/20 SQL Server