位置: IT常识 - 正文

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

编辑:rootadmin

推荐整理分享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框架怎么用)

  • vivox70如何切换经典桌面(vivox70如何切换快充)

    vivox70如何切换经典桌面(vivox70如何切换快充)

  • qq击掌在哪里找(qq里击掌的怎么找)

    qq击掌在哪里找(qq里击掌的怎么找)

  • 怎么导出微信聊天记录(怎么导出微信聊天记录作为证据)

    怎么导出微信聊天记录(怎么导出微信聊天记录作为证据)

  • 怎么设置幻灯片背景(怎么设置幻灯片的大小)

    怎么设置幻灯片背景(怎么设置幻灯片的大小)

  • 为什么网盘上的文件打开失败(为什么网盘上的资源不能在电脑上看)

    为什么网盘上的文件打开失败(为什么网盘上的资源不能在电脑上看)

  • w10专业版和企业版有什么区别(w10专业版和企业版旗舰版哪个好)

    w10专业版和企业版有什么区别(w10专业版和企业版旗舰版哪个好)

  • 联想e40无线网络开关在哪(联想e40无线网络连不上)

    联想e40无线网络开关在哪(联想e40无线网络连不上)

  • qq群怎么开视频会议(qq群视频怎么操作步骤)

    qq群怎么开视频会议(qq群视频怎么操作步骤)

  • ml4lte是什么版本手机(ml4lte现在价多少钱)

    ml4lte是什么版本手机(ml4lte现在价多少钱)

  • ip协议位于osi什么层(ip协议对应于osi7层模型中的第几层)

    ip协议位于osi什么层(ip协议对应于osi7层模型中的第几层)

  • 爱奇艺会员开通时间怎么算(爱奇艺会员开通自动续费怎么关闭)

    爱奇艺会员开通时间怎么算(爱奇艺会员开通自动续费怎么关闭)

  • 小米mix alpha什么时候开售(小米mixalpha什么配置)

    小米mix alpha什么时候开售(小米mixalpha什么配置)

  • word中的视图方式有哪几种(word的视图方式包括)

    word中的视图方式有哪几种(word的视图方式包括)

  • 单反相机是什么(单反相机是什么时候出现的)

    单反相机是什么(单反相机是什么时候出现的)

  • 哈罗单车扫码不骑可以吗(哈罗单车扫码不成功)

    哈罗单车扫码不骑可以吗(哈罗单车扫码不成功)

  • 华为荣耀7x怎么弄双卡(华为荣耀7x怎么关闭打开程序)

    华为荣耀7x怎么弄双卡(华为荣耀7x怎么关闭打开程序)

  • mx250是独显吗(nvidia geforce mx250是独显吗)

    mx250是独显吗(nvidia geforce mx250是独显吗)

  • iqoo支不支持无线充电(iqoo支持无线充电的手机吗?)

    iqoo支不支持无线充电(iqoo支持无线充电的手机吗?)

  • 手机hd是什么意思,怎么关闭(手机上面的hd是什么意思)

    手机hd是什么意思,怎么关闭(手机上面的hd是什么意思)

  • pubg下载方法(pubg如何下载安装)

    pubg下载方法(pubg如何下载安装)

  • 苹果无线耳机调音量(苹果无线耳机调整音量)

    苹果无线耳机调音量(苹果无线耳机调整音量)

  • Win11 安卓子系统样式曝光:微信完美运行,支持多窗口,集成通知中心(win11安卓子系统教程)

    Win11 安卓子系统样式曝光:微信完美运行,支持多窗口,集成通知中心(win11安卓子系统教程)

  • win10怎么批量下载网页中图片(win10 批量安装软件)

    win10怎么批量下载网页中图片(win10 批量安装软件)

  • 支持疫情防控捐赠语言
  • 计提个税会计科目怎么做
  • 进出口环节税
  • 税盘维护费抵扣
  • 临时用工费账务怎么处理
  • 现金流量表的编制基础是什么
  • 新公司成立第一次会议
  • 简易计税费
  • .申报表税源编码怎么填
  • 个人股权转让给公司
  • 办公设备维修费会计分录
  • 办公场所转租赁需要交哪些税费
  • 企业受托开发软件是什么
  • 进项税额转出是不可以抵扣吗
  • 零售汽油费发票需要交印花税吗?
  • 工程发票没写经办人没写可以吗
  • 开票资料上的电话可以是手机吗?
  • 流转税率是什么意思
  • 小微企业季度超过30万怎么报增值税
  • 发票税率开错怎么处理?
  • 法人给公司基本户打款
  • 吸收合并企业的情形
  • 什么是短期借款利率
  • 用苹果macbook pro怎样
  • 客户回款扣除的费用
  • 硬盘的日常维护需要做到什么?
  • 怎么使用win10
  • 补贴收入什么时候到账
  • 单位保洁外包公司收费标准
  • phpget方法
  • 商业银行贷款的三种基本形式
  • 结算成本处理怎么取消
  • 抵扣进项税额的几种情况是
  • 玉兰种院子什么方位
  • 鲜艳的多彩的英文
  • 小满Vue3第三十六章(Vue如何开发移动端)
  • 物流公司交保险是骗局吗
  • 怎么把vue项目跑起来
  • 提交表单后重定向
  • 基建会计的工作内容
  • 盘点那些神级翻唱现场
  • Win11 Build 25330 预览版今日更新: 优化 Surface Dial 设置页面
  • 使用van-picker 动态设置当前选中项
  • 支付兼职工资账务处理
  • 发票税额打印不全可以入账吗
  • sql server 内存管理
  • 生产成本月末有余额资产负债表平衡吗
  • 固定资产一次性扣除政策
  • 地税发票丢失应如何处理
  • 商誉的会计核算怎么核算
  • 记账金额怎么写
  • 国企注册资本实缴
  • 汇算清缴怎么弥补亏损怎么操作
  • 手工账做账流程总结
  • 政府资助专项资金是什么
  • 收到社保局返还的各类社保款项应从哪个表单发起
  • 出口免抵退和免退有什么区别
  • mysql冗余字段
  • centos6.4下mysql5.7.18安装配置方法图文教程
  • mysql kill -9
  • window10 bitlocker
  • 左右内边距代码
  • 如何删除windows media center
  • centosip配置
  • 为什么要升级呀
  • cocos2dx scrollview
  • xcode怎么新建项目
  • jquery中绑定事件
  • unity如何成一组
  • android应用程序
  • javascript的对象有哪些
  • jquery轮播图自动播放
  • jquery事件委托原理
  • 河北税务怎么看自己绑定的银行卡号
  • 发票 字体
  • 税务谈心谈话记录2021
  • 潍坊市区面积多大
  • 上饶二手房契税
  • 多缴税款可以抵滞纳金吗?
  • 税务总局2013年65号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设