Files
wechat_crawler/多群组版本使用说明.md
李顺东 b66bac7ca8 feat: Initialize wxauto WeChat automation project with job extraction tools
- Add wxauto package with WeChat UI automation and message handling capabilities
- Implement job_extractor.py for automated job posting extraction from WeChat groups
- Add job_extractor_gui.py providing graphical interface for job extraction tool
- Create comprehensive documentation in Chinese covering GUI usage, multi-group support, and quick start guides
- Add build configuration files (build_exe.py, build_exe.spec) for packaging as standalone executable
- Include utility scripts for WeChat interaction (auto_send_msg.py, get_history.py, receive_file_transfer.py)
- Add project configuration files (pyproject.toml, setup.cfg, requirements.txt)
- Include test files (test_api.py, test_com_fix.py) for API and compatibility validation
- Add Apache 2.0 LICENSE and comprehensive README documentation
- Configure .gitignore to exclude build artifacts, logs, and temporary files
2026-02-11 14:49:38 +08:00

8.1 KiB
Raw Blame History

微信群岗位信息提取工具 - 多群组版本使用说明

版本更新 v1.1

新功能

  1. 支持多群组监听 - 可同时监听多个微信群
  2. UUID岗位ID - 每个岗位使用唯一的UUID标识
  3. 来源群组显示 - 界面显示岗位来自哪个群组
  4. 打包时配置API - API密钥在打包前配置更安全

配置说明

1. 配置文件 (config.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. 配置步骤

方式一:使用配置工具(推荐)

# 双击运行
配置API密钥.bat

# 按提示输入API密钥

方式二:手动编辑

  1. 打开 config.json
  2. 修改 target_groups 数组,添加要监听的群组
  3. 修改 api_key 为你的百炼API密钥
  4. 保存文件

使用流程

开发/测试阶段

  1. 配置API密钥

    # 运行配置工具
    配置API密钥.bat
    
  2. 配置目标群组

    • 编辑 config.json
    • target_groups 数组中添加群组名称
  3. 运行程序

    # 直接运行Python版本
    python job_extractor_gui.py
    
    # 或使用启动工具
    启动工具.bat → 选择 [1]
    
  4. 在GUI中调整群组

    • 启动程序后可以在界面中修改群组列表
    • 支持逗号、分号分隔
    • 点击"保存群组配置"保存

打包部署阶段

  1. 确认配置

    • 确保 config.json 中的 api_key 已正确配置
    • 确认 target_groups 包含默认要监听的群组
  2. 打包程序

    # 使用修复脚本打包
    修复并重新打包.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

{
  "_id": "550e8400-e29b-41d4-a716-446655440000",
  "job_name": "Python开发",
  "_metadata": {
    "group_name": "招聘信息群1",
    ...
  }
}

4. 来源追踪

  • 界面显示岗位来源群组
  • 详情中显示完整来源信息
  • 日志中标记群组名称

数据格式

岗位数据结构

{
  "_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. 性能优化

  • 不要监听过多群组
  • 定期清理历史数据
  • 关闭不需要的群组监听

技术说明

多群组实现

# 为每个群组创建独立的监听
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生成

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格式
  • 数据库存储支持