python登录WeChat 实现自动回复实例详解

作者:Giraffe''stooth 时间:2021-05-25 03:22:22 

最近实现了一些微信的简单玩法 我们可以通过网页版的微信微信网页版,扫码登录后去抓包爬取信息,还可以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 实现自动回复实例详解

来源:https://www.cnblogs.com/Wang-jialu/p/10936414.html

标签:python,WeChat,自动回复
0
投稿

猜你喜欢

  • Python超细致探究面向对象

    2023-05-28 17:02:56
  • python 与服务器的共享文件夹交互方法

    2021-02-10 14:29:02
  • python+excel接口自动化获取token并作为请求参数进行传参操作

    2022-05-19 04:10:18
  • PHP使用缓存即时输出内容(output buffering)的方法

    2023-11-23 20:12:11
  • 一次MySQL慢查询导致的故障

    2024-01-21 12:18:17
  • 使用 Python 处理3万多条数据只要几秒钟

    2023-08-03 15:21:06
  • CSS的学习应该注意学习方法

    2007-11-27 00:20:00
  • 数据库开发总结(ADO.NET小结)

    2024-01-17 06:42:16
  • 一文教会你用Python读取PDF文件

    2021-03-23 00:24:55
  • 详解Django将秒转换为xx天xx时xx分

    2023-06-14 22:52:12
  • 解决golang 反射interface{}做零值判断的一个重大坑

    2024-05-21 10:24:27
  • php面象对象数据库操作类实例

    2023-10-13 22:33:05
  • Python打印斐波拉契数列实例

    2022-11-03 11:40:41
  • MySQL数据库的索引原理与慢SQL优化的5大原则

    2024-01-18 14:46:01
  • ASP.NET Core基于现有数据库创建EF模型

    2024-01-25 15:56:04
  • tensorflow之获取tensor的shape作为max_pool的ksize实例

    2022-10-09 01:41:53
  • Python基于HOG+SVM/RF/DT等模型实现目标人行检测功能

    2021-07-12 01:54:50
  • SQL Server 数据库故障修复顶级技巧之一

    2010-05-01 18:49:00
  • Python动态加载模块的3种方法

    2023-12-22 21:33:29
  • JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件

    2024-04-10 11:01:56
  • asp之家 网络编程 m.aspxhome.com