Files
wechat_crawler/多群组版本使用说明.md

296 lines
8.1 KiB
Markdown
Raw Permalink Normal View History

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