一、需求
利用Python+第三方库wxauto 用于WX上自动实时获取聊天信息,并将获取到的消息存储为表格形式。
二、wxauto简介和安装
wxauto是一个Python库,专门用于自动化微信网页版的功能。它允许用户通过编写Python脚本来控制微信网页版,实现自动化发送消息、接收消息、添加好友、群发消息等功能。wxauto库的核心优势在于其易用性、灵活性和强大的功能。
-
易用性:wxauto提供了简单直观的API,使得即使是没有编程经验的用户也能够快速上手。用户只需要几行代码就可以实现基本的自动化操作。
-
灵活性:wxauto支持自定义脚本,用户可以根据自己的需求编写个性化的自动化脚本,满足不同的使用场景。
-
功能强大:除了基本的聊天功能外,wxauto还支持群发消息、自动回复、定时发送消息等高级功能,极大地提高了工作效率。
安装方式:
pip install wxauto
三、项目实现思路
1、导入wxauto库,使用wxauto库提供的API来获取聊天信息。这包括获取聊天列表、发送者信息、聊天内容等。
2、对获取的聊天信息进行解析,提取出需要存储的信息,如消息内容、发送者、时间戳等。
3、使用如pandas创建和操作表格数据,设置定时任务或使用事件监听来实时更新聊天信息,并将其追加到表格中。
4、使用thinter框架,编写GUI界面,包括一个输入框和按钮以及一个显示区域。
四、主要代码实现
#对窗口进行监控函数
def listen(name, text_info):
wx = WeChat()
try:
wx.GetSessionList()
wx.AddListenChat(name)
print('开始监听')
except Exception as e:
log_error(text_info, f"错误:无法初始化微信监听。\n{e}")
return
def check_messages():
try:
msgs = wx.GetListenMessage() # 这里需要根据实际API调整
current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
new_data = [] # 存储本轮新获取的消息
if msgs:
for chat in msgs:
for msg in msgs[chat]: # 假设 msgs[chat] 是消息列表
if hasattr(msg, 'sender') and hasattr(msg, 'content'):
message = f'【{msg.sender}】: {msg.content}'
# 将消息插入文本框
text_info.insert(tk.END, f'{current_time} {message}\n')
new_data.append({
'Time': current_time,
'Sender': msg.sender,
'Content': msg.content
})
# 如果有新消息,创建 DataFrame 并准备写入 Excel 文件
if new_data:
df = pd.DataFrame(new_data)
write_to_excel('xlsx_folder', name, df)
except Exception as e:
log_error(text_info, f"错误:获取消息失败。\n{e}")
finally:
# 每 1 秒检查一次消息
text_info.after(1000, check_messages)
check_messages()#窗体更新
五、效果展示
最后,希望我的思路能对各位有所帮助!!!
如需源码和支持请联系本人 qiuqiu 1667610692