# 微信群岗位信息提取工具 - 多群组版本使用说明 ## 版本更新 v1.1 ### 新功能 1. **支持多群组监听** - 可同时监听多个微信群 2. **UUID岗位ID** - 每个岗位使用唯一的UUID标识 3. **来源群组显示** - 界面显示岗位来自哪个群组 4. **打包时配置API** - API密钥在打包前配置,更安全 ## 配置说明 ### 1. 配置文件 (config.json) ```json { "target_groups": [ "招聘信息群1", "招聘信息群2", "求职交流群" ], "bailian_api_url": "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation", "api_key": "your-api-key-here", "output_file": "jobs_data.json" } ``` ### 2. 配置步骤 #### 方式一:使用配置工具(推荐) ```bash # 双击运行 配置API密钥.bat # 按提示输入API密钥 ``` #### 方式二:手动编辑 1. 打开 `config.json` 2. 修改 `target_groups` 数组,添加要监听的群组 3. 修改 `api_key` 为你的百炼API密钥 4. 保存文件 ## 使用流程 ### 开发/测试阶段 1. **配置API密钥** ```bash # 运行配置工具 配置API密钥.bat ``` 2. **配置目标群组** - 编辑 `config.json` - 在 `target_groups` 数组中添加群组名称 3. **运行程序** ```bash # 直接运行Python版本 python job_extractor_gui.py # 或使用启动工具 启动工具.bat → 选择 [1] ``` 4. **在GUI中调整群组** - 启动程序后可以在界面中修改群组列表 - 支持逗号、分号分隔 - 点击"保存群组配置"保存 ### 打包部署阶段 1. **确认配置** - 确保 `config.json` 中的 `api_key` 已正确配置 - 确认 `target_groups` 包含默认要监听的群组 2. **打包程序** ```bash # 使用修复脚本打包 修复并重新打包.bat # 或使用标准打包 build.bat ``` 3. **分发使用** - 将 `dist\微信岗位提取工具.exe` 分发给用户 - 用户可以在GUI中修改群组列表 - API密钥已内置,无需用户配置 ## 界面说明 ``` ┌─────────────────────────────────────────────────────┐ │ 配置 │ │ 目标群组: [招聘群1, 招聘群2, 求职群] [保存群组配置]│ │ (多个群组用逗号分隔) │ │ API密钥: sk-46cb053d...1c81a (已配置) │ ├─────────────────────────────────────────────────────┤ │ [开始任务] [停止任务] [清空列表] [导出数据] │ ├─────────────────────────────────────────────────────┤ │ 状态: 运行中 (3个群组) 已提取岗位: 15 │ ├─────────────────────────────────────────────────────┤ │ 岗位列表 │ │ ┌─────────────────────────────────────────────────┐│ │ │序号│来源群组│岗位│公司│地点│薪资│联系│时间 │││ │ │ 1 │招聘群1│...│...│...│...│...│... │││ │ │ 2 │招聘群2│...│...│...│...│...│... │││ │ │ 3 │求职群 │...│...│...│...│...│... │││ │ └─────────────────────────────────────────────────┘│ ├─────────────────────────────────────────────────────┤ │ 运行日志 │ │ [10:30:00] 正在连接微信... │ │ [10:30:01] ✓ 已连接微信 │ │ [10:30:05] [招聘群1] 收到消息 - 发送者: 张三 │ │ [10:30:06] [招聘群1] ✓ 提取到岗位信息 │ │ [10:30:10] [招聘群2] 收到消息 - 发送者: 李四 │ └─────────────────────────────────────────────────────┘ ``` ## 功能特点 ### 1. 多群组监听 - 同时监听多个微信群 - 每个群组独立处理消息 - 自动标记消息来源 ### 2. 群组配置 支持多种分隔符: - 逗号:`群1, 群2, 群3` - 中文逗号:`群1,群2,群3` - 分号:`群1; 群2; 群3` - 换行:每行一个群组 ### 3. UUID标识 每个岗位都有唯一的UUID: ```json { "_id": "550e8400-e29b-41d4-a716-446655440000", "job_name": "Python开发", "_metadata": { "group_name": "招聘信息群1", ... } } ``` ### 4. 来源追踪 - 界面显示岗位来源群组 - 详情中显示完整来源信息 - 日志中标记群组名称 ## 数据格式 ### 岗位数据结构 ```json { "_id": "uuid-string", "job_name": "岗位名称", "job_description": "岗位描述", "job_location": "工作地点", "salary_min": 15000, "salary_max": 25000, "company_name": "公司名称", "contact_person": "联系人", "contact_info": "联系方式", "_metadata": { "source": "wechat_group", "group_name": "招聘信息群1", "sender": "HR小王", "extract_time": "2026-02-11 14:30:00", "original_message": "原始消息内容..." } } ``` ## 常见问题 ### Q: 如何添加新的群组? A: 两种方式: 1. 在GUI界面的群组输入框中添加,用逗号分隔 2. 编辑 `config.json`,在 `target_groups` 数组中添加 ### Q: 某个群组监听失败怎么办? A: - 检查群组名称是否完全正确(区分大小写) - 确保该群在微信会话列表中 - 查看日志了解具体错误信息 - 其他群组不受影响,会继续监听 ### Q: 如何修改API密钥? A: - 开发阶段:运行 `配置API密钥.bat` 或编辑 `config.json` - 打包后:需要重新配置并打包 ### Q: 可以监听多少个群组? A: 理论上没有限制,但建议不超过10个,以保证性能 ### Q: 如何区分不同群组的岗位? A: - 界面列表中有"来源群组"列 - 双击查看详情可看到完整来源信息 - 导出的JSON数据中包含 `group_name` 字段 ### Q: UUID有什么用? A: - 唯一标识每个岗位 - 便于数据去重 - 方便数据库存储和查询 - 支持数据同步和更新 ## 最佳实践 ### 1. 群组命名 建议使用清晰的群组名称: - ✓ "北京招聘信息群" - ✓ "Python开发求职群" - ✗ "群聊" (太模糊) ### 2. 监听策略 - 优先监听活跃度高的群组 - 定期检查群组名称是否变更 - 及时移除不活跃的群组 ### 3. 数据管理 - 定期导出数据备份 - 使用UUID进行数据去重 - 按来源群组分类整理 ### 4. 性能优化 - 不要监听过多群组 - 定期清理历史数据 - 关闭不需要的群组监听 ## 技术说明 ### 多群组实现 ```python # 为每个群组创建独立的监听 for group_name in groups: def make_callback(gname): return lambda msg, chat: self.on_message(msg, chat, gname) wx.AddListenChat( nickname=group_name, callback=make_callback(group_name) ) ``` ### UUID生成 ```python import uuid # 为每个岗位生成唯一ID job_id = str(uuid.uuid4()) job_info["_id"] = job_id ``` ## 更新日志 ### v1.1 (2026-02-11) - ✓ 支持多群组同时监听 - ✓ 使用UUID作为岗位ID - ✓ 界面显示来源群组 - ✓ API密钥打包时配置 - ✓ 优化日志显示 ### v1.0 (2026-02-11) - 初始版本 - 单群组监听 - 基础功能实现 ## 下一步计划 - [ ] 群组管理界面(添加/删除/启用/禁用) - [ ] 按群组筛选岗位 - [ ] 群组统计信息 - [ ] 数据去重功能 - [ ] 导出Excel格式 - [ ] 数据库存储支持