2019-07-30 11:03 冻雨冷雾
之前了解到itchat 乃至于 wxpy时 是利用tuling聊天机器人的接口。调用接口并保存双方的问答结果可以作为自己的问答词库的一个数据库累计。这些数据可以用于自己训练。 而最近希望获取一些语音资源,用于卷积神经网络的训练。。 首先wxpy是itchat的升级版,通过wxpy bot.core即可原封不动的调用itchat的指令。 可以实现的简单功能: 1. 调取所有微信好友的信息,包括头像,签名,地区,等信息。 # -*- coding: utf-8 -*-"""Created on Fri Jul 19 17:10:01 2019
@author: wenzhe.tian"""import wxpy as wpfrom collections import defaultdictimport pandas as pdfrom tkinter import messageboximport os#初始化机器人,选择缓存模式(扫码)登录bot = wp.Bot(cache_path=True)
friend = bot.core.get_friends(update=True)[0:]
num = 0for f in friend:
image = bot.core.get_head_img(userName=f["UserName"]) #用 itchat.get_head_img(userName=None)来爬取好友列表的头像fileImage = open(str(num) + ".jpg",'wb') #将好友头像下载到本地fileImage.write(image)
fileImage.close()
num += 1
friend=pd.DataFrame(friend)
friend.to_excel('friend.xlsx',sheet_name='Friend_Info')#所有朋友相关资料存为excel 根据上面可以做一些头像集合,或者微信好友的动态图表统计。 2. 消息回复 bot.friends().search('老九门里排第十')[0].send('[强]') #表示回复给 '老九门里排第十' 点赞符号 相当于 friends.search() 然而这些不能满足一些高级的需求比如: 1. 可以自动将录音,视频,图像,聊天记录等按照档案记录下来。(此处修改可操作连接图灵机器人,将提问和回答的信息记录下来。作为自己训练的原始数据集) 其中 全局参数 global temp: temp是一个list,可以将最近的消息加入list,该消息信息是字典格式的所有消息包含的原始数据。 比如消息类型,发送人,接收人等等。 # -*- coding: utf-8 -*-
如上图: 所有新回复的消息会自动创建 代码里path下的文件夹,视频,录音等非文字内容会直接下载,推送等html格式的消息会当做文字和聊天记录一同保存下来记录到message.txt里 文字可以用于训练,亦可用于词云等生成。 2.可以管理微信转发,定位到人,群,或者公众号。选定条件转发,比如消息是否包含关键字等等 # 定位公司群company_group = ensure_one(bot.groups().search('公司微信群'))# 定位老板boss = ensure_one(company_group.search('BOSS'))# 将老板的消息转发到文件传输助手@bot.register(company_group)def forward_boss_message(msg):if msg.member == boss: msg.forward(bot.file_helper, prefix='BOSS') 3. 针对某人的自动回复,此处可设定词汇和回复内容(比如html格式的推送或者链接)来实现微信公众号的一些运营。 具体用法如下: @ bot.register() 的括号内必须为一个对象,比如上文是一个公司的群,是从所有群中搜索名字 '公司微信群' ,我们之前定义的 groups=bot.groups() # 所有群的对象 friends=bot.friends() # 所有好友的对象 mps=bot.mps() # 所有公众号的对象 |
|