位置: 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框架怎么用)

  • 佳能相机busy怎么消除(佳能相机没反应怎么回事)

    佳能相机busy怎么消除(佳能相机没反应怎么回事)

  • 借呗无信用额度怎么开通(借呗无信用额度多久解除)

    借呗无信用额度怎么开通(借呗无信用额度多久解除)

  • 腾讯视频支持几人同时登录(腾讯视频支持几个人)

    腾讯视频支持几人同时登录(腾讯视频支持几个人)

  • 芒果tv弹幕时有时无的原因

    芒果tv弹幕时有时无的原因

  • 快手旗下有哪些软件(快手旗下有哪些平台)

    快手旗下有哪些软件(快手旗下有哪些平台)

  • 网易云音乐最高多少级(网易云音乐最高听歌等级)

    网易云音乐最高多少级(网易云音乐最高听歌等级)

  • cpu可以换吗(笔记本焊接cpu可以换吗)

    cpu可以换吗(笔记本焊接cpu可以换吗)

  • 小米街拍模式有声音(小米街拍模式有什么用)

    小米街拍模式有声音(小米街拍模式有什么用)

  • 钉钉视频有回放吗(钉钉视频有回放是不是不能发言了)

    钉钉视频有回放吗(钉钉视频有回放是不是不能发言了)

  • 抖音不给流量了怎么办(抖音不给流量了怎么办如何判断账号是否还有救)

    抖音不给流量了怎么办(抖音不给流量了怎么办如何判断账号是否还有救)

  • 笔记本电脑的像素一般是多少(笔记本电脑的像素都差吗)

    笔记本电脑的像素一般是多少(笔记本电脑的像素都差吗)

  • qq照片墙怎么上传不了照片了(qq照片墙怎么上传高清图片)

    qq照片墙怎么上传不了照片了(qq照片墙怎么上传高清图片)

  • 华为畅享10怎么设置指纹解锁(华为畅享10怎么样值得买吗)

    华为畅享10怎么设置指纹解锁(华为畅享10怎么样值得买吗)

  • cernet是什么网(cer网络用语啥意思)

    cernet是什么网(cer网络用语啥意思)

  • 小米云备份会备份微信记录吗(小米云备份会备份什么)

    小米云备份会备份微信记录吗(小米云备份会备份什么)

  • 为什么降噪耳机有耳压(为什么降噪耳机会头晕)

    为什么降噪耳机有耳压(为什么降噪耳机会头晕)

  • ipad能插内存卡吗(ipad能插内存卡卡吗)

    ipad能插内存卡吗(ipad能插内存卡卡吗)

  • ipad无线网卡怎么用(ipad wifi版怎么插上网卡)

    ipad无线网卡怎么用(ipad wifi版怎么插上网卡)

  • 电脑怎样保存表格文件(电脑怎样保存表格到桌面怎么操作?)

    电脑怎样保存表格文件(电脑怎样保存表格到桌面怎么操作?)

  • 荣耀play3支持指纹识别吗(荣耀play 3有指纹解锁的功能吗)

    荣耀play3支持指纹识别吗(荣耀play 3有指纹解锁的功能吗)

  • 小米手环4充电几个小时(小米手环4充电器可以充5吗)

    小米手环4充电几个小时(小米手环4充电器可以充5吗)

  • 为啥苹果下载不了小红书(为啥苹果下载不了贵旅优品)

    为啥苹果下载不了小红书(为啥苹果下载不了贵旅优品)

  • 微信删除评论对方知道吗(微信删除评论对方还能看到吗)

    微信删除评论对方知道吗(微信删除评论对方还能看到吗)

  • 2023最新最全vscode插件精选(2023最新最全的祈祷视频)

    2023最新最全vscode插件精选(2023最新最全的祈祷视频)

  • 厂房办公费属于什么会计科目
  • 公户购买理财怎么做账
  • 个人独资企业是什么单位性质
  • 期房购置税怎么算
  • 事业单位取暖费标准
  • 净现金流量率计算公式
  • 这个月只有进项没有销项
  • 企业事故赔偿支出可以抵税吗
  • 增值税税负率怎么算
  • 营改增阶段
  • 施工企业开专票还是开普票好
  • 货物运输企业纳税多少
  • 捐赠允诺是否有法律约束力?
  • 个人劳务费可以不开发票吗
  • 个税按计提申报还是按发放申报
  • 进口车辆购置税公式
  • 1697508230
  • 应收账款出售给银行
  • 社会保险费缴费凭据在哪查
  • 公司购买床垫怎样入账
  • 股权无偿赠与子女怎么办理手续
  • 累计结转是什么意思
  • 怎么计提担保赔偿准备金?
  • 个体户个人所得税免征额是多少
  • php图片拼接
  • 买材料没发票怎么办
  • PHP:apache_setenv()的用法_Apache函数
  • 租金没有收进来,房产税要交吗
  • 土地使用税若干问题的补充规定
  • 契税计税依据是成交价还是评估价?
  • 利润表应根据什么编制
  • 所有非批扣和所有批扣是什么意思
  • datetime2(7)
  • zenity命令 显示图形框
  • php websocket教程
  • ps2021和cs6有什么区别
  • 工资应纳税额怎么算
  • 开基本户一定要法人身份证吗
  • phpcms 标签
  • 一般户可以转账给员工报销吗
  • 伪静态html
  • 小规模纳税人要报个人所得税吗
  • 税法中对差旅费的处理
  • 累计摊销咋算
  • 支付招标代理费的请示
  • 资产处置收益项目有哪些
  • 以前年度损益调整会计分录
  • 原材料的主要账务处理
  • 物流公司车辆过户要3万
  • 个体工商户员工如何报生育险
  • 开出银行承兑汇票
  • 资产报废折旧
  • 总公司给分公司拨款怎么做账
  • 银行利息 税
  • 支付水电费会计等式
  • 计提的利息汇算清缴时要调整吗
  • 滞纳金在年报的营业外支出的哪一项?
  • 注销基本户必须注销专户吗
  • 外贸内销业务哪个部门管
  • 其他货币资金包含的内容
  • 商品型企业
  • sql合并多行到一列
  • win7怎么更改音频输出
  • 苹果系统最新版本
  • centos重新安装命令
  • win10 rs1是什么版本
  • 电脑开机显示xp后无反应
  • centos开启后一直黑屏
  • 如何自定义wifi名称
  • 什么是血糖
  • wire软件下载
  • cocos 2d x
  • replace函数怎么替换
  • 安卓图片缓存太占空间
  • javascript entries
  • js闭包作用问题解决应用
  • node.js详解
  • Unity PlayerPrefs.DeleteAll 无效以及 PlayerPrefs文件保存位置
  • 被标记为广告推销的电话能接吗
  • 白酒消费税应纳税额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设