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

296 lines
8.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 微信群岗位信息提取工具 - 多群组版本使用说明
## 版本更新 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格式
- [ ] 数据库存储支持