jashuboy/BlueHunt
GitHub: jashuboy/BlueHunt
BlueHunt 是一个自动化网络安全职位获取 pipeline,从多个招聘平台抓取、过滤、评分并通过 Telegram 推送匹配的入门级安全岗位。
Stars: 0 | Forks: 0
BlueHunt
Automated Cybersecurity Job Acquisition Pipeline
通过智能的多平台聚合、过滤、评分和实时通知,实现网络安全职位发现的自动化。
    
## 📌 问题陈述 作为一名网络安全行业的新人,我曾经历过这样的挑战:尽管具备了所需的技术技能,却难以找到相关的机会。 网络安全职位分布在多个平台上,每天手动搜索、过滤和跟踪合适的机会会消耗大量时间。 为了解决这个问题,我开发了 **BlueHunt**,这是一个自动化的网络安全职位获取 pipeline,它从多个平台汇总职位发布,并根据网络安全技能、经验要求、职位级别以及地点偏好对它们进行过滤。 尽管 BlueHunt 目前仅支持少量精心挑选的来源,但这些平台共同涵盖了我的目标职位相关的绝大多数入门级网络安全机会。 挑战包括: - 跨多个平台的重复职位发布。 - 大量不相关或高级别的职位。 - 错失新发布的机会。 - 手动跟踪已申请的职位。 - 在多个求职平台之间切换造成的时间浪费。 BlueHunt 将这整个流程自动化了。 ## 工作流程 1. 从受支持的平台上抓取职位。 2. 提取结构化的职位信息。 3. 过滤不相关和高级别的职位。 4. 根据技能相关性对职位进行评分。 5. 移除重复的条目。 6. 将唯一的职位存储在 Excel 中。 7. 为高质量的匹配发送 Telegram 通知。 ## ⚡ 功能 - ✅ 多平台网络安全职位抓取 - ✅ 以 SOC 和网络安全为重点的评分引擎 - ✅ 优先推荐对新人友好的职位 - ✅ 过滤高级别职位 - ✅ 基于 environment variable 的密钥管理 - ✅ 重复职位检测 - ✅ 为高度匹配的职位发送 Telegram 通知 - ✅ 使用 Excel 持久化职位数据库 - ✅ 使用 Windows Task Scheduler 进行自动化调度 - ✅ 具备经验感知能力的排名引擎 - ✅ 针对印度网络安全职位的地点感知过滤 # 📊 项目亮点 - 🔍 从 **4 个平台**汇总职位 - 🎯 使用 **20 多个**网络安全搜索关键词 - 📈 优先考虑入门级的 SOC 和网络安全职位 - 🚫 自动过滤高级别职位 - 🔁 消除重复的发布 - 📬 为高质量的匹配发送 Telegram 提醒 - ⏰ 支持通过 Windows Task Scheduler 计划执行 ## 🌐 支持的平台 目前支持: - LinkedIn - Naukri - Foundit - Internshala # 🏗 架构  # 🛠 技术栈 | 类别 | 技术 | |----------|-------------| | 编程语言 | Python | | 浏览器自动化 | Playwright | | 数据处理 | Pandas | | 存储 | OpenPyXL | | 通知 | Telegram Bot API | | 任务调度 | Windows Task Scheduler | | 环境变量管理 | python-dotenv | | 版本控制 | Git, GitHub | # ⚙ 安装说明 ## 克隆仓库 ``` git clone https://github.com/jashuboy/BlueHunt.git cd BlueHunt ``` ## 安装依赖项 ``` pip install -r requirements.txt ``` ## 安装 Playwright 浏览器 ``` playwright install ``` ## 配置环境变量 创建一个 `.env` 文件: ``` BOT_TOKEN=YOUR_TELEGRAM_BOT_TOKEN CHAT_ID=YOUR_TELEGRAM_CHAT_ID ``` # ▶ 用法 手动运行: ``` python main.py ``` 或者配置: ``` Windows Task Scheduler ``` 以按照预定的时间间隔自动执行扫描。 # 📷 资源 # Telegram 提醒  # 职位数据库  # 目标角色  # 技能与经验  # 地点  # 负面权重  # 经验惩罚  # 阻止词汇  # 📂 项目结构 ``` BlueHunt/ │ ├── assets/ │ ├── architecture_workflow.png │ ├── banner.png │ ├── blocked_terms.png │ ├── excel_database.png │ ├── experience_penalties.png │ ├── locations.png │ ├── negative_weights.png │ ├── skills.png │ ├── target_roles.png │ └── telegram_alert.png │ ├── core/ │ ├── filtering.py # Rule-based filtering engine │ ├── scheduler.py # Scheduled execution utilities │ ├── scoring.py # Rule-based scoring engine │ ├── storage.py # Excel database management │ └── telegram_bot.py # Telegram notification service │ ├── data/ │ └── jobs_database.xlsx # Stores unique job postings │ ├── fetchers/ │ ├── foundit.py │ ├── internshala.py │ ├── linkedin.py │ └── naukri.py │ ├── .env # Environment variables ├── .gitattributes ├── .gitignore ├── config.py # Project configuration ├── LICENSE ├── main.py # BlueHunt pipeline entry point ├── README.md ├── requirements.txt └── run_bluehunt.bat # Windows launcher ``` # 🔮 未来改进 - AI 驱动的简历匹配引擎 - 基于 AI 的简历定制 - 公司白名单和黑名单 - 每日职位摘要通知 - 申请跟踪 dashboard - 面试准备建议 # 👨💻 作者 **Jashwanth Dola** - LinkedIn: https://www.linkedin.com/in/jashwanthdola/ - GitHub: https://github.com/jashuboy # ⭐ 支持 如果您觉得这个项目有用,请考虑给它点个 Star。标签:BeEF, Python, Telegram机器人, 数据聚合, 无后门, 求职, 爬虫, 特征检测, 网络调试, 自动化, 逆向工具