智能招聘监控助手 - 不再错过任何兼职机会
智能招聘监控助手 - 不再错过任何兼职机会
🎯 项目亮点
还在为错过心仪的Android兼职项目而懊恼吗?这个智能监控助手将彻底改变你的兼职接单体验!它能够24/7全天候监控多个热门兼职平台,精准捕捉相关外包项目,第一时间推送给你。
核心功能: 每天8-22点每隔一小时智能扫描电鸭社区,当发现含有"Android"(不区分大小写)或"安卓"关键词的最新兼职/外包项目时,立即保存到本地数据库并发送邮件通知到指定邮箱。
✨ 为什么选择这个工具?
🚀 智能高效
- 多平台覆盖: 同时监控电鸭社区、猿急送、软件项目交易网、实现网等主流兼职/外包平台
- 精准筛选: 基于关键词的智能匹配,只推送你真正关心的兼职项目
- 实时通知: 新项目发布后第一时间邮件推送,抢占接单先机
🔧 稳定可靠
- 异常监控: 网站访问异常时自动重试并发送错误报告
- 数据持久化: 本地存储已通知记录,避免重复推送
- 跨平台支持: 完美支持Windows、Mac、Linux系统
- 容器化部署: 提供Docker支持,一键部署,环境隔离
💡 开发者友好
- 模块化设计: 易于扩展新的招聘网站支持
- 详细日志: 完整的运行日志,便于调试和监控
- 开源透明: 代码完全开源,可自由定制和修改
📋 功能特性
- ✅ 多平台支持: 支持电鸭社区、猿急送、软件项目交易网、实现网等多个兼职/外包平台
- ✅ 自动抓取: 定时从多个平台抓取最新的兼职项目列表
- ✅ 关键词筛选: 根据预设的关键词(不区分大小写)筛选出您感兴趣的兼职项目
- ✅ 邮件通知: 当发现新的相关兼职项目时,立即发送邮件通知,内容包括项目标题、摘要、发布时间和链接
- ✅ 异常监控: 当平台访问或解析出现异常时,自动发送邮件通知
- ✅ 调试支持: 自动保存 HTML 调试文件,便于问题排查和平台结构分析
- ✅ 持久化存储: 保存已通知过的项目记录,避免重复发送
- ✅ 灵活调度: 可配置在每天的特定时间段内(如 8:00 - 22:00)按指定频率(如每小时)运行
🛠️ 快速开始
环境要求
- Python 3.8 或更高版本
- 稳定的网络连接
- 邮箱账户(用于发送通知)
1. 克隆项目
git clone https://github.com/chenjim/side-job-notifier
cd eleduck-android-notify
2. 安装依赖
pip install -r requirements.txt
3. 配置邮箱和关键词
打开 config.py 文件,根据你的需求修改以下配置:
# 关键词配置(支持多个关键词,用于筛选兼职项目)
KEYWORDS = ["android", "安卓", "Android开发", "移动端开发", "兼职"]
# 收件人邮箱(接收兼职项目通知)
RECIPIENT_EMAIL = "your-email@example.com"
# 发件人邮箱配置
SENDER_EMAIL = "your-sender@163.com"
SENDER_PASSWORD = "your-email-password" # 建议使用授权码
SMTP_SERVER = "smtp.163.com"
SMTP_PORT = 465
4. 启动监控
方式一:直接运行(适合开发调试)
python main.py
方式二:Docker部署(推荐用于生产环境)
使用 Docker Compose(推荐)
# 构建并启动容器
docker-compose up -d
# 查看运行日志
docker-compose logs -f
# 停止容器
docker-compose down
使用 Docker 命令
# 构建镜像
docker build -t side-job-android-notifier .
# 运行容器
docker run -d \
--name side-job-android-notifier \
--restart always \
-v $(pwd):/app \
-e UID=$(id -u) \
-e GID=$(id -g) \
side-job-android-notifier
# 查看日志
docker logs -f side-job-android-notifier
程序启动后会立即执行一次检查,然后按照设定的时间间隔持续监控。
📊 实际使用效果
真实案例分享
"自从使用了这个监控工具,我再也没有错过任何一个Android兼职项目。上周通过这个工具发现了3个高质量的远程外包项目,已经成功接到一个3万元的单子!" - 某位自由开发者反馈
监控范围(专注兼职/外包平台)
- 电鸭社区: 远程工作和兼职机会的首选平台
- 猿急送: 程序员兼职和项目外包专业平台
- 软件项目交易网: 软件项目外包和兼职需求
- 实现网: 技术服务外包和兼职机会
🏗️ 技术架构
本项目采用现代化的可扩展架构设计,支持传统部署和容器化部署:
核心组件
- 配置驱动: 通过
config.py集中管理所有配置 - 工厂模式:
ScraperFactory根据网站类型动态创建抓取器 - 抽象接口:
BaseScraper定义统一的抓取标准 - 独立存储: 每个网站使用独立的数据文件,避免冲突
- 容器化支持: Docker镜像基于Playwright官方镜像,包含所有浏览器依赖
架构优势
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Scheduler │───▶│ Scraper │───▶│ Notifier │
│ (调度器) │ │ (抓取器) │ │ (通知器) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Data Manager │ │ HTML Debug │ │ Logger │
│ (数据管理) │ │ (调试文件) │ │ (日志系统) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
部署选项
- 传统部署: 直接在Python环境中运行
- Docker部署: 使用预构建的Playwright镜像,包含所有依赖
- Docker Compose: 一键部署,支持开发环境和生产环境
🔧 高级配置
自定义监控时间
在 main.py 中修改监控时间段:
# 默认在 8:00-22:00 期间监控
if 8 <= now.hour < 23:
schedule.run_pending()
添加新网站支持
要添加新的招聘网站支持,只需:
- 在
config.py的WEBSITES字典中添加新网站配置 - 在
scrapers/目录下创建对应的抓取器类,继承BaseScraper - 在
ScraperFactory中注册新的抓取器
🐛 故障排除
常见问题
Q: 程序启动后没有收到邮件?
A: 检查邮箱配置是否正确,建议使用授权码而非邮箱密码。
Q: 网站访问失败怎么办?
A: 检查网络连接,程序会自动重试并发送错误报告。
Q: 如何查看调试信息?
A: 所有调试文件保存在 urlData/ 目录下,包括HTML页面和JSON数据。
Q: Docker部署时遇到权限问题?
A: 确保当前用户对项目目录有读写权限,或者使用 sudo 命令。
Q: 容器运行后如何修改配置?
A: 直接修改本地的 config.py 文件,容器会自动重新加载配置(因为使用了卷挂载)。
调试工具
- HTML调试文件: 自动保存每个网站的HTML页面
- JSON数据文件: 保存解析后的数据结构
- 详细日志: 完整的运行日志记录
⭐ 如果这个项目对你有帮助,请给个Star支持一下!
💡 有任何问题或建议,欢迎提交Issue讨论!
本文链接:智能招聘监控助手 - 不再错过任何兼职机会 - https://h89.cn/archives/486.html
版权声明:原创文章 遵循 CC 4.0 BY-SA 版权协议,转载请附上原文链接和本声明。
评论已关闭