# wxexport **Repository Path**: lisonsong/wxexport ## Basic Information - **Project Name**: wxexport - **Description**: 一个用于导出微信联系人信息的桌面工具,支持智能筛选和标签信息导出。 目前支持的版本:微信PC端 V3 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信联系人导出工具 一个用于导出微信联系人信息的桌面工具,支持智能筛选和标签信息导出。 目前支持的版本:微信PC端 V3 ## 功能界面 ![功能界面](data/wechat_2025-10-15_161930_572.png) ## 功能特性 - **智能联系人筛选**:默认只导出自然人联系人,可选导出公众号联系人 - **标签信息导出**:自动关联联系人标签,导出中文标签列表 - **三步引导式界面**:清晰指导用户完成整个导出过程 - **自动获取密钥**:通过 pywxdump 自动获取微信数据库密钥 - **数据库解密**:支持单文件解密和批量解密两种模式 - **Excel格式导出**:导出为标准的Excel文件,便于查看和处理 - **详细日志**:每个步骤都有详细的操作日志,方便排查问题 ## 环境准备 在使用此工具前,请确保已安装必要的依赖: ```bash pip install pywxdump pandas openpyxl ``` ## 使用步骤 ### 1. 获取微信数据库密钥 - 确保微信已在电脑上登录 - 点击"获取微信数据库密钥"按钮 - 工具会自动获取并显示密钥 - 微信的数据库密码是动态的,每次登录后都会变化,因此需要每次都获取最新密钥,才能解密数据库。所以不用担心使用此工具后对微信账号安全造成影响。 ### 2. 解密微信数据库 - **单文件解密(推荐)**:选择单个数据库文件进行快速解密 - **批量解密**:解密指定目录下的所有可解密文件(适用于完整备份) - 数据库文件通常位于:`C:\Users\[用户名]\Documents\WeChat Files\[微信号]\Msg\` ### 3. 导出联系人到Excel - **智能筛选**:默认只导出自然人联系人(Type=3且VerifyFlag=0) - **可选导出公众号**:勾选"导出公众号联系人"可同时导出公众号 - **标签信息**:自动关联ContactLabel表,导出中文标签列表 - **联系人类型标识**:自动标识联系人为"自然人"或"公众号" ## 导出内容说明 导出的Excel文件包含以下字段: | 字段名 | 说明 | |--------|------| | UserName | 微信用户名(唯一标识) | | Alias | 微信号 | | NickName | 昵称 | | Remark | 备注名 | | Type | 联系人类型代码 | | VerifyFlag | 验证标志 | | 联系人类型 | 自然人/公众号标识 | | 标签列表 | 中文标签名称,多个标签用逗号分隔 | | DomainList | 域名列表 | | PYInitial | 昵称拼音首字母 | | QuanPin | 昵称全拼 | | RemarkPYInitial | 备注拼音首字母 | | RemarkQuanPin | 备注全拼 | ## 联系人类型说明 ### 自然人联系人 - **识别条件**:Type=3且VerifyFlag=0 - **特点**:普通微信好友,可以进行私聊 - **导出策略**:默认导出 ### 公众号联系人 - **识别条件**:Type=3且VerifyFlag≠0 - **特点**:微信公众号,服务号等 - **导出策略**:需用户主动勾选"导出公众号联系人"选项 ## 注意事项 - 请确保在使用工具前**微信已在电脑上登录** - 工具运行期间**不要关闭微信** - 如果遇到权限问题,尝试**以管理员身份运行**工具 - 导出的数据包含隐私信息,请妥善保管 - 批量解密耗时较长,建议使用单文件解密模式 ## 常见问题解决 ### 依赖问题 - **pywxdump 未找到**:确保已正确安装 `pip install pywxdump` - **pandas 未找到**:确保已正确安装 `pip install pandas openpyxl` ### 操作问题 - **解密失败**:检查微信是否已登录,或尝试重新获取密钥 - **找不到联系人表**:工具会自动检测Contact表,如果失败会显示所有可用表 - **标签信息缺失**:如果ContactLabel表不存在或为空,标签列表将显示为空 ### 导出结果问题 - **只看到部分联系人**:默认只导出自然人联系人,如需公众号请勾选相应选项 - **标签显示不正确**:检查ContactLabel表中标签名称是否正确 ## 技术说明 ### 数据库表结构 - **Contact表**:存储联系人基本信息 - **ContactLabel表**:存储标签定义信息 - **关联关系**:Contact表的LabelIDList字段存储标签ID,通过ContactLabel表转换为中文标签名 ### 筛选逻辑 - 默认筛选条件:`Type = 3 AND VerifyFlag = 0` - 包含公众号的筛选条件:`Type = 3` - 排序方式:按昵称(NickName)升序排列 这个工具提供了完整的 GUI 界面,适合不熟悉命令行的用户使用,通过分步引导简化了整个导出过程。