位置: IT常识 - 正文

python操作微信客户端:WechatPCAPI库实现自动化回复(python 微信)

发布时间:2024-01-23

推荐整理分享python操作微信客户端:WechatPCAPI库实现自动化回复(python 微信),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python接入微信,pythonhook微信,weixin-python,python调用微信客户端,python wechat,python wechat,python调用微信客户端,python 操作微信,内容如对您有帮助,希望把文章链接给更多的朋友!

目前有一个项目 WechatPCAPI 可以对微信进行操作,简单来说它是直接操作 PC 版微信客户端的,当然它有一定不足之处就是:PC 版微信客户端和 Python 都需要使用指定版本的,本文我们使用的 Python 版本为 3.7.6 ,微信客户端使用版本为 2.6.8.52 ,WechatPCAPI 的 GitHub 地址为: https://github.com/Mocha-L/WechatPCAPI。

获取好友列表

WechatPCAPI 提供了方法 get_friends(),该方法返回信息包括:好友、群和公众号的列表信息,信息内容主要包括:微信号、昵称和自己设置的备注。

python操作微信客户端:WechatPCAPI库实现自动化回复(python 微信)

我们使用获取的昵称做个简单的词云展示,代码实现如下所示:

logging.basicConfig(level=logging.INFO)defon_message(message):passdefget_friends():#初始化微信实例wx_inst=WechatPCAPI(on_message=on_message,log=logging)#启动微信wx_inst.start_wechat(block=True)#等待登陆成功,此时需要人为扫码登录微信whilenotwx_inst.get_myself():time.sleep(5)print('登陆成功')nicknames=[]#排除的词remove=['还是','不会','一些','所以','果然','起来','东西','为什么','真的','这么','但是','怎么','还是','时候','一个','什么','自己','一切','样子','一样','没有','不是','一种','这个','为了']forkey,valueinwx_inst.get_friends().items():ifkeyin['fmessage','floatbottle','filehelper']or'chatroom'inkey:continuenicknames.append(value['wx_nickname'])words=[]fortextinnicknames:ifnottext:continuefortinjieba.cut(text):iftinremove:continuewords.append(t)globalword_cloud#用逗号隔开词语word_cloud=','.join(words)defnk_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)globalword_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()defon_message(msg):queue_recved_event.put(msg)deflogin():pre_msg=''#初始化微信实例wx_inst=WechatPCAPI(on_message=on_message,log=logging)#启动微信wx_inst.start_wechat(block=True)#等待登陆成功,此时需要人为扫码登录微信whilenotwx_inst.get_myself():time.sleep(5)print('登陆成功')whileTrue: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)ifdata_type=='1'and'revokemsg'notinmsgcontent:pre_msg=msgcontentifsendinfoisnotNoneand'revokemsg'inmsgcontent:user=str(sendinfo.get('wx_id_search'))recall='撤回的消息:'+pre_msgwx_inst.send_text(to_user=user,msg=recall)

看一下操作

更多python相关内容,请关注python自学网。

本文链接地址:https://www.jiuchutong.com/zhishi/304502.html 转载请保留说明!

上一篇:为WordPress添加Google reCAPTCHA进行人机身份验证(wordpress neve)

下一篇:PHP中ThinkPhp框架的token使用(thinkphp框架怎么用)

  • 要交多少增值税
  • 会计做账能否使用复印件做账
  • 医院这么开发票
  • 地产企业预缴增值税政策
  • 办公室购买清洁剂
  • 结转本月完工入库产品制造成本,甲产品800台全部完工
  • 递延税款负债在资产负债表哪个科目
  • 申请补交公积金提案
  • 计提跌价的存货卖出了
  • 什么情况下用资本公积科目
  • 印花税购销合同包括哪些
  • 小规模纳税人与一般纳税人区别
  • 工程物资和特种设备区别
  • 购买的发票进项税和成本怎么转出
  • 公允价值变动损益会计处理
  • 购买印花税票怎么抵扣
  • 内部交易增值税怎么算
  • 电子发票对航天信息利空吗
  • 定额发票是需要备注吗
  • 知识产权投资入股要交税吗
  • 种植保险包括
  • 开票含税和不含税怎么切换视频讲解
  • 税收滞纳金变化
  • 包装物计价
  • 此windows副本不是正版影响电脑使用吗
  • 环境保护税入账什么会计科目
  • 服务器数据迁移到新的服务器
  • linux怎么查看防火墙信息
  • PHP:sys_getloadavg()的用法_misc函数
  • 增值税的计税依据包括关税吗
  • kcleaner.exe是什么
  • php和javaweb
  • 销售商品怎么做会计分录呢
  • 技术转让所得的税收优惠
  • 新办公司实收资本怎么查
  • jsp课程设计含源代码
  • php十进制转二进制算法
  • 3d reconstruction
  • 个体户可以不办公户吗
  • echarts api文档
  • 赔付支出计算公式
  • 消费税增值税和个人所得税是什么意思
  • 工程施工预付款20%的规定
  • pandas模块的主要特点
  • 织梦改logo
  • c语言中数组怎么用
  • 接受捐赠的固定资产怎么计提折旧
  • 建筑企业小规模纳税人
  • sqlserver 判断函数
  • 暂时性差异和永久性差异怎么区分
  • 合同负债 案例
  • 公司向股东个人借款怎么做账
  • 房地产营业税率是多少
  • 预缴税款留抵是什么意思
  • 股权转让印花税减半征收政策
  • 提供劳务结转的成本计入什么科目
  • 汇算清缴后多交的企业所得税能退吗
  • 意外伤害条件
  • 2023年职工社保缴费标准一览表
  • mysql连接查询的几种方式
  • win7系统打开程序卡住几秒怎么办
  • win7玩游戏卡吗
  • msedge.exe是什么
  • kdeskcore.exe是什么
  • win7系统360浏览器崩溃
  • w7提高开机速度
  • xp磁盘空间不足怎么办
  • express.json()
  • android studio jni
  • Interlnk、Intersvr、Qbasic命令的使用方法
  • Cocos2dx 3.0 lambda表达式的使用
  • wc -l命令
  • for语句中的++i
  • unity3d接入抖音广告api
  • Python3使用requests包抓取并保存网页源码的方法
  • python中redis的用法
  • Windows下python2.7.8安装图文教程
  • 国家税务局浙江省电子税务局新版
  • 教育培训机构都交哪些税
  • 公司购买车辆是什么费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号