python操作微信电脑版_python操作微信客户端:WechatPCAPI库实现自动化回复
目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用的 Python 版本为 3.7.6 ,微信客户端使用版本为 2.6.8.52 ,WechatPCAPI 的 GitHub 地址为: https://github.com/Mocha-L/WechatPCAPI。
获取好友列表
WechatPCAPI 提供了方法 get_friends(),该方法返回信息包括:好友、群和公众号的列表信息,信息内容主要包括:微信号、昵称和自己设置的备注。
我们使用获取的昵称做个简单的词云展示,代码实现如下所示:logging.basicConfig(level=logging.INFO)
def on_message(message):
pass
def get_friends():
# 初始化微信实例
wx_inst = WechatPCAPI(on_message=on_message, log=logging)
# 启动微信
wx_inst.start_wechat(block=True)
# 等待登陆成功,此时需要人为扫码登录微信
while not wx_inst.get_myself():
time.sleep(5)
print('登陆成功')
nicknames = []
# 排除的词
remove = ['还是', '不会', '一些', '所以', '果然',
'起来', '东西', '为什么', '真的', '这么',
'但是', '怎么', '还是', '时候', '一个',
'什么', '自己', '一切', '样子', '一样',
'没有', '不是', '一种', '这个', '为了'
]
for key, value in wx_inst.get_friends().items():
if key in ['fmessage', 'floatbottle', 'filehelper'] or 'chatroom' in key:
continue
nicknames.append(value['wx_nickname'])
words = []
for text in nicknames:
if not text:
continue
for t in jieba.cut(text):
if t in remove:
continue
words.append(t)
global word_cloud
# 用逗号隔开词语
word_cloud = ','.join(words)
def nk_cloud():
# 打开词云背景图
cloud_mask = np.array(Image.open('bg.png'))
# 定义词云的一些属性
wc = WordCloud(
# 背景图分割颜色为白色
background_color='white',
# 背景图样
mask=cloud_mask,
# 显示最大词数
max_words=300,
# 显示中文
font_path='./fonts/simkai.ttf',
# 最大尺寸
max_font_size=70
)
global word_cloud
# 词云函数
x = wc.generate(word_cloud)
# 生成词云图片
image = x.to_image()
# 展示词云图片
image.show()
# 保存词云图片
wc.to_file('nk.png')
看一下效果:
消息防撤回
我们在使用微信和好友聊天时,对方有时会有撤回消息的情况,正常情况下,我们是不知道好友撤回的消息是什么的,通过 WechatPCAPI 就可以实现消息防撤回的功能。
我们知道通常撤回的消息是点击撤回操作前一步发送的内容,当然也可能撤回的是前两步、三步 ... 的消息,这里我们只对撤回前一步的消息做处理,基本思路是:我们将撤回前一步发送的消息存一下,当对方点击撤回操作时,我们再将前一步的消息再次返回给自己。
下面看一下实现代码:logging.basicConfig(level=logging.INFO)
queue_recved_event = Queue()
def on_message(msg):
queue_recved_event.put(msg)
def login():
pre_msg = ''
# 初始化微信实例
wx_inst = WechatPCAPI(on_message=on_message, log=logging)
# 启动微信
wx_inst.start_wechat(block=True)
# 等待登陆成功,此时需要人为扫码登录微信
while not wx_inst.get_myself():
time.sleep(5)
print('登陆成功')
while True:
msg = queue_recved_event.get()
data = msg.get('data')
sendinfo = data.get('sendinfo')
data_type = str(data.get('data_type'))
msgcontent = str(data.get('msgcontent'))
is_recv = data.get('is_recv')
print(msg)
if data_type == '1' and 'revokemsg' not in msgcontent:
pre_msg = msgcontent
if sendinfo is not None and 'revokemsg' in msgcontent:
user = str(sendinfo.get('wx_id_search'))
recall = '撤回的消息:' + pre_msg
wx_inst.send_text(to_user=user, msg=recall)
看一下操作
更多python相关内容,请关注python自学网。
python操作微信电脑版_python操作微信客户端:WechatPCAPI库实现自动化回复相关推荐
- python操作微信电脑版_python 通过微信发送消息控制电脑
[Python] 纯文本查看 复制代码# coding=utf-8 import itchat from tkinter import * from tkinter import messagebox ...
- python操作微信电脑版_Python学习教程:教你用Python通过微信来控制电脑摄像头
如果说强大的标准库奠定了Python发展的基石,丰富的第三方库则是python不断发展的保证.今天的Python学习教程就来通过itchart库来实现通过微信对电脑的一些操作. 1.安装库 安装itc ...
- python操作微信电脑版_Python使用itchat模块实现简单的微信控制电脑功能示例
本文实例讲述了Python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...
- python微信库we_python微信库we_python操作微信客户端:WechatPCAPI库实现自动化回复...
目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用 ...
- python微信库we_python操作微信客户端:WechatPCAPI库实现自动化回复
目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用 ...
- python操作微信电脑版_PC端微信数据库解密Python版
本帖最后由 5032479833 于 2020-5-28 11:40 编辑 Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [ ...
- Linux和Mac下的微信电脑版electronic-wechat(非官方)
2016-10-15更新 添加了3.3–为微信电脑版增加桌面启动器(快捷方式) CSDN GitHub Linux和Mac下的微信电脑版electronic-wechat(非官方) AderXCodi ...
- Linux和Mac下的微信电脑版electronic-wechat 非官方
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 2016 ...
- python 微信聊天机器人_python操作微信自动发消息的实现(微信聊天机器人)
前言 最近在学习python,发现一个微信自动发消息的小demo感觉很有意思,试了一下,不成功,因为demo中用的是itchat这个库来操作微信,而这个库是通过微信网页版来操作微信的,现在微信网页版已 ...
- python去掉json中的转义符_企业微信表情符自动转义怎么用?企业微信电脑版这样做...
企业微信有一个独特的功能叫做"表情符自动转义",其实通俗点说就是表情的快捷键,设定了这个之后,可以在键盘上点击这个符号,而在企业微信电脑版上显示的就是对应的表情,对于快速恢复很 ...
最新文章
- 自定义数字格式字符串输出示例
- Centos7系统下httpd各种方式实现与配置
- 小裁缝返乡创业做儿童品牌,如今身家数十亿冲刺上市
- Android性能优化之内存篇(三)
- python requests 报错 Connection aborted ConnectionResetError RemoteDisconnected 解决方法
- 蓝桥杯-c++_ch04_02_修正版(java)
- 修改nullMyEclipse 设置文件的默认编码
- mysql报错级别_MySQL启动出现几个警告级别错误
- win7系统出现蓝屏0x0000003b怎么解决
- SpringBoot+Prometheus+Grafana实现应用监控和报警
- DAY04 WINDOWS 文件的共享以及FTP服务器的搭建
- eclipse远程连接hadoop_Hadoop群启集群
- android 使用so库,Android 使用SO库
- 【别再说不懂linux命令了,再给你】
- php 设置针式打印机纸张,针式打印机设置方法 针式打印机打印连续纸设置技巧【图文】...
- 密码学简史(一)--- 谍战中的古典密码学
- 如何防止你的网站被攻击?
- Latex——插入罗马字母或更改字体为公式体
- 服务器的所有网站共用443,多个ssl证书共用443端口apache
- pid的matlab仿真,用MATLAB对PID控制做简单的仿真