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分割和拼接字符串
Nov 01 Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
python实现员工管理系统
Jan 11 Python
Python实现的用户登录系统功能示例
Feb 05 Python
Django2.1.3 中间件使用详解
Nov 26 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
python 模拟银行转账功能过程详解
Aug 06 Python
python文件处理fileinput使用方法详解
Jan 02 Python
python中upper是做什么用的
Jul 20 Python
python 求两个向量的顺时针夹角操作
Mar 04 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文件读写操作之文件写入代码
2011/01/13 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
基于jquery库的tab新形式使用
2012/11/16 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
js闭包学习心得总结
2018/04/17 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
社区包粽子活动方案
2014/01/21 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
医院节能减排方案
2014/06/13 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
行政助理岗位职责
2015/02/10 职场文书
中学推普周活动总结
2015/05/07 职场文书
调解书格式范本
2015/05/20 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
python迷宫问题深度优先遍历实例
2021/06/20 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript