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

  • 发票开具,发票备注栏能手写字吗?
  • 企业如何代扣代缴个人所得税20%
  • 退票凭证什么样子
  • 公账转法人私账的注意事项
  • 合并成本是
  • 别人公司过账用自己的银行卡会查吗
  • 计提工会经费的基数是什么
  • 上期有留抵进项税额,本期如何转,如何做账
  • 事业单位注销税务登记
  • 财务会计制度备案表
  • 生产企业购入材料怎么做分录
  • 工程造价咨询服务流程
  • 农产品收购发票开错了
  • 实际报销人是什么意思
  • 汇算清缴弥补以前年度亏损报表怎么填
  • 非增值税纳税人有哪些
  • 发票勾选没有确认怎么办
  • 购买银行理财产品被骗怎么办
  • 如何能减免个人所得税
  • 税务季报都报啥
  • 公司免费使用我的肖像权用作商业
  • 3月申报的是什么时候的个税
  • 备查账要如何设置?
  • 出口企业进项税额转出怎么理解
  • 增值税发票已认证抵扣还可以进项税额转出吗
  • 如何查看windows密钥时间
  • 公司收到加盟费怎么做会计分录
  • 反射动态创建对象
  • mac option开机
  • 非正常原因造成的损失计入什么科目
  • linux 书 推荐
  • php中分页功能的实现
  • 解除劳动合同后需要把合同拿回来吗
  • 会计费用科目分类表
  • 前端项目中遇到的问题,如何解决
  • 商誉准则最新修订时间
  • 增值税专用发票和普通发票的区别
  • 其他应收款其他应付款的风险
  • 进项发票是专票吗
  • 基本户往一般户转钱有限制吗
  • 发工资时代扣房贷怎么办
  • mongodb开启
  • 定额发票验旧日期怎么算
  • 租赁合同的印花税怎么交
  • 解决mysql数据库异常断电
  • 会计电算化的内容和任务
  • mysql load local
  • 个别计价法下,把每一种存货的实际成本
  • 用人单位垫付生育津贴垫付金额和垫付天数
  • 项目提前竣工借款合法吗
  • 持有至到期投资减值准备可以转回吗
  • 进项税额转出是什么科目
  • 个税速算扣除数2023
  • 应扣未扣税款对纳税人的处理
  • 运费账务怎么处理
  • 销售现金优惠会计分录
  • 开业费用是什么意思
  • 个体工商户注销代办
  • 跨年做进项税额转出
  • a公司刚刚执行了一个采购项目
  • 哪些税费计入税金及附加科目
  • 关联企业有什么好处
  • sql server数据库中的null(空值)
  • 电脑xp系统如何
  • 两台电脑如何共享网络
  • windows vista 版本
  • igs文件是什么文件
  • windows xp的安装
  • win8怎么把开始调出来
  • xp取消开机启动项
  • myeclipse2013安装配置
  • dos批处理命令大全
  • css优化提高性能的方法有哪些
  • js实现@功能
  • javascript基础笔记
  • 四川国税局普通发票查询?
  • 医院能开增值税开发票吗
  • 设计合同需要备案吗
  • 国网四川电力客户电话号码
  • 纳税申报的期限是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设