智能招聘监控助手 - 不再错过任何兼职机会

Python Version Platform License

本文首发地址 https://h89.cn/archives/486.html

🎯 项目亮点

还在为错过心仪的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()

添加新网站支持

要添加新的招聘网站支持,只需:

  1. config.pyWEBSITES 字典中添加新网站配置
  2. scrapers/ 目录下创建对应的抓取器类,继承 BaseScraper
  3. 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 版权协议,转载请附上原文链接和本声明。

标签: Python, 电鸭社区, 猿急送, 实现网, 软件项目交易网

评论已关闭