前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python wxpy将微信群聊中的图片保存到本地

python wxpy将微信群聊中的图片保存到本地

作者头像
wo.
发布2021-06-15 15:10:01
4.9K4
发布2021-06-15 15:10:01
举报
文章被收录于专栏:了不得的专栏了不得的专栏

需求如下

班级微信群需要每天上报由每个家长发送的健康码, 现在需要将微信群中家长发送的图片(健康码) 保存为孩子姓名(微信群里 家长群备注去掉后两位,如马云爸爸,去掉后两位,保存为马云1.jpg、马云2.jpg), 然后将所有图片保存到以当天日期命名的文件夹。

可以调用wxpy模块

实现

wx.py

代码语言:javascript
复制
from wxpy import *
import time,os

# 微信机器人,缓存登录信息
# 如果你需要部署在服务器中,则在下面加入一个入参console_qr=True
# console_qr表示在控制台打出二维码,部署到服务器时需要加上
bot = Bot(cache_path=True)

# 当前日期文件夹
path = time.strftime("%Y%m%d", time.localtime())
path = f'D:\\{path}\\' 
if not os.path.isdir(path):
    os.makedirs(path)

# 监控群聊
listen_groups = '群'  
bot.listen_groups = bot.groups().search(listen_groups)
if len(bot.listen_groups) < 1:
    bot.listen_groups = []
    print(f'未找到群名包含「{listen_groups}」的群聊!')
else:
    print(f'找到群名包含「{listen_groups}」的群聊{str(len(bot.listen_groups))}个!')

def pfn(fn,num=1):
    if not os.path.isfile(fn):
        return fn
    else:
        fnlist = fn.split('.')
        return pfn(fn=f'{"".join(fnlist[0:-1])}{str(num)}.{fnlist[-1]}',num=num+1)
"""群功能"""
@bot.register(chats=Group)
def group_msg(msg):
    """接收群消息"""

    # 监控群聊中的图片
    if msg.chat in msg.bot.listen_groups and msg.type == PICTURE :
        fn = pfn(f'{path}{msg.member.name[0:-2]}.{msg.file_name.split(".")[-1]}')
        print(fn)
        msg.get_file(fn)
    else:
        pass

    return None

bot.join()

简单的测试

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求如下
  • 实现
  • 简单的测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档