# RecruitmentTools **Repository Path**: kingofsky/RecruitmentTools ## Basic Information - **Project Name**: RecruitmentTools - **Description**: 本工具可以自动连接QQ邮箱,收取简历邮件,并将简历信息提取整理成标准Excel表格 - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-27 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QQ邮箱简历自动收取与Excel整理工具 本工具可以自动连接QQ邮箱,收取简历邮件,并将简历信息提取整理成标准Excel表格。 ## 功能特性 - 自动连接QQ邮箱收取邮件(支持自定义文件夹) - 只处理未读邮件,已读邮件不会被重复处理,处理后的邮件自动标记为已读 - 智能解析简历信息(姓名、出生年份、年龄、工作年限、学历、是否离职、毕业学校、擅长语言等),支持HTML格式邮件解析 - 精确提取HTML格式简历中的教育经历,准确提取第一个毕业学校,避免提取错误文本或仅提取"院校"等不完整信息 - 从邮件主题提取应聘岗位信息 - 智能评分系统:根据工作经验、学历(非统招本科不入选)、年龄、当前状态、工作经历关键词、毕业院校、知名互联网公司工作经历等维度对候选人进行综合评分 - 生成标准化Excel表格(包含评分信息) - 支持自定义解析规则和评分规则 - 支持知名互联网公司工作经历加分:在工作经历中识别阿里巴巴、腾讯、字节跳动、美团等知名互联网公司,并给予额外加分 - 支持配置文件驱动的默认岗位类型:可自定义默认岗位类型,系统根据应聘岗位关键词自动匹配评分标准 ## 安装依赖 ```bash pip install openpyxl pandas ``` ## 配置 在 `config/config.json` 中配置邮箱信息: ```json { "email": { "username": "your_email@qq.com", "password": "your_authorization_code", "folder": "INBOX", "output_path": "output/resumes.xlsx" }, "scoring_rules": { "experience_score": { "min_score": 10, "max_score": 100, "max_experience": 20, "multiplier": 4 }, "education_score": { "统招博士": 100, "博士": 90, "统招硕士": 85, "硕士": 80, "统招本科": 75, "本科": 0, "非统招 本科": 0, "统招大专": 0, "大专": 0, "统招专科": 0, "专科": 0, "高中": 30, "其他": 20 }, "age_score": { "optimal_min": 25, "optimal_max": 35, "penalty_per_year": 1 }, "status_score": { "离职": 100, "在职-考虑机会": 80, "在职": 60, "在校": 70, "离职-正在找工作": 100 }, "work_keyword_score": { "关键词": { "Java": 10, "Python": 10, "C++": 10, "前端": 8, "后端": 8, "全栈": 12, "架构": 15, "管理": 12, "团队": 8, "项目": 6, "大数据": 12, "AI": 15, "机器学习": 15, "深度学习": 15, "云计算": 10, "微服务": 10, "Spring": 8, "React": 8, "Vue": 8, "Docker": 8, "Kubernetes": 10, "数据库": 6, "MySQL": 6, "Redis": 6 } }, "school_score": { "985高校": 20, "211高校": 15, "普通本科": 10, "普通专科": 5 }, "weights": { "experience": 0.25, "education": 0.2, "age": 0.1, "status": 0.15, "work_keywords": 0.2, "school": 0.1 }, "default_job_type": "技术岗位", "job_match_keywords": { "技术岗位": ["Java", "Python", "C++", "前端", "后端", "全栈", "架构", "算法", "数据", "AI", "机器学习"], "管理岗位": ["管理", "团队", "项目", "领导", "统筹", "规划"], "销售岗位": ["销售", "市场", "客户", "业务", "渠道", "营销"] }, "company_experience_score": { "知名互联网公司": { "阿里巴巴": 20, "腾讯": 20, "百度": 18, "字节跳动": 18, "美团": 15, "滴滴": 15, "京东": 15, "华为": 18, "小米": 12, "网易": 12, "携程": 10, "新浪": 10, "搜狐": 8, "360": 10, "快手": 15, "B站": 12, "拼多多": 15, "阿里云": 15, "腾讯云": 15, "美团云": 12 } } } } ``` **注意:** - `password` 需要填写QQ邮箱的授权码,不是登录密码 - `folder` 指定要读取的邮箱文件夹,支持嵌套路径,如"INBOX/子文件夹名"或"我的文件夹/子文件夹名" - `output_path` 指定导出的Excel文件路径,如"output/resumes.xlsx",如果不指定则使用默认路径 - `scoring_rules` 配置评分规则,包括工作经验、学历、年龄、当前状态、工作经历关键词、毕业院校、知名互联网公司工作经历等维度的评分标准和权重 - `default_job_type` 配置默认岗位类型,可设置为"技术岗位"、"管理岗位"或"销售岗位"等 - `company_experience_score` 配置知名互联网公司工作经历加分规则,对在阿里巴巴、腾讯、字节跳动、美团等知名互联网公司工作的经历给予额外加分 - 如果嵌套路径无法访问,程序会自动列出所有可用文件夹供参考 - 获取授权码方法:QQ邮箱 -> 设置 -> 账户 -> IMAP/SMTP服务 -> 开启 -> 获取授权码 - 非统招本科学历在评分系统中得分为0分,不满足公司要求 - 系统会自动提取应聘者出生年份、计算年龄、设置是否离职状态、根据岗位关键词设置擅长语言、设置筛选日期为当前日期、系统打分为总分 ## 使用方法 ```bash python src/main.py ``` 默认情况下,程序只搜索和处理未读邮件。处理后的邮件会自动标记为已读,避免重复处理。 ## 使用示例 当简历中包含知名互联网公司工作经历时,系统会自动识别并给予额外加分: ``` 工作经历: 阿里巴巴 高级软件工程师,主要负责Java后端开发;之前在美团担任软件工程师 -> 系统自动识别"阿里巴巴"(20分)和"美团"(15分) -> 工作关键词分增加35分 ``` ## 项目结构 - `src/email_reader.py` - 邮箱连接和邮件读取 - `src/resume_parser.py` - 简历信息提取 - `src/excel_exporter.py` - Excel导出 - `src/scoring_system.py` - 简历评分系统 - `src/main.py` - 主程序入口 - `config/config.json` - 配置文件