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版
Dec 07 Python
Linux下Python获取IP地址的代码
Nov 30 Python
Python对列表排序的方法实例分析
May 16 Python
Python实现简单的代理服务器
Jul 25 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
python3之模块psutil系统性能信息使用
May 30 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
Python3之手动创建迭代器的实例代码
May 22 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
Python实现序列化及csv文件读取
Jan 19 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 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生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
php页面防重复提交方法总结
2013/11/25 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
用js实现计算加载页面所用的时间
2010/04/02 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
详解supervisor使用教程
2017/11/21 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
《学会合作》教学反思
2014/04/12 职场文书
区级文明单位申报材料
2014/05/15 职场文书
事业单位考核材料
2014/05/21 职场文书
篮球赛口号
2014/06/18 职场文书
运动会广播稿100字
2014/09/14 职场文书
北京导游词
2015/02/12 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS