10 KiB
🤖 HH.ru Bot - Автоматизация поиска работы
Современный бот для автоматического поиска и отклика на вакансии с поддержкой ИИ-анализа
🎯 Что умеет бот
- 🔍 Умный поиск - Находит релевантные вакансии по ключевым словам
- 🤖 ИИ-анализ - Gemini AI оценивает соответствие резюме требованиям
- 📝 Автоматические отклики - Отправляет заявки на подходящие вакансии
- ⚙️ Гибкая настройка - Настраиваемые критерии поиска и фильтрации
- 📊 Детальная статистика - Отчёты о проделанной работе
- 🛡️ Безопасность - Имитация человеческого поведения, паузы между действиями
🚀 Быстрый старт
1. Установка
# Клонируем репозиторий
git clone https://github.com/your-username/hh-bot.git
cd hh-bot
# Устанавливаем зависимости
pip install -r requirements.txt
2. Настройка
Создайте файл .env
в корне проекта:
GEMINI_API_KEY=your_gemini_api_key_here
3. Подготовка резюме
Создайте файлы с информацией о себе в папке data/
:
experience.txt
- Опыт работыabout_me.txt
- О себеskills.txt
- Навыки и технологии
💡 При первом запуске бот автоматически создаст примеры этих файлов
4. Запуск
# Рекомендуемый способ
python -m hh_bot
# Альтернативный способ
python main.py
📋 Пример использования
- Запустите бота одной из команд выше
- Настройте поиск - введите ключевые слова (например: "Python junior")
- Выберите параметры - максимальное количество откликов, использование ИИ
- Подтвердите запуск - бот начнёт работу автоматически
- Дождитесь результатов - получите подробный отчёт о проделанной работе
🚀 HH.ru АВТОМАТИЗАЦИЯ v2.0
==================================================
🏗️ Архитектурно правильная версия
🤖 С поддержкой Gemini AI
📄 Загрузка резюме из файлов
==================================================
⚙️ ТЕКУЩИЕ НАСТРОЙКИ:
🔍 Ключевые слова: python junior
📊 Максимум заявок: 40
🤖 Gemini AI: ✅ Доступен
🌐 Режим браузера: Видимый
🎯 НАСТРОЙКА ПОИСКА:
Ключевые слова [python junior]: python разработчик
Использовать AI фильтрацию? [y/n]: y
Максимум заявок [40]: 25
Начать автоматизацию? [y/n]: y
🏗️ Архитектура проекта
hh-bot/
├── 📁 hh_bot/ # Основной пакет
│ ├── 📁 cli/ # Интерфейс командной строки
│ │ └── interface.py # CLI логика
│ ├── 📁 config/ # Конфигурация
│ │ ├── settings.py # Настройки и константы
│ │ └── logging_config.py # Логирование
│ ├── 📁 core/ # Бизнес-логика
│ │ └── job_application_manager.py # Главный менеджер
│ ├── 📁 models/ # Модели данных
│ │ └── vacancy.py # Структуры вакансий
│ └── 📁 services/ # Сервисы
│ ├── hh_api_service.py # API HH.ru
│ ├── gemini_service.py # Gemini AI
│ └── browser_service.py # Автоматизация браузера
├── 📁 data/ # Файлы резюме
├── 📁 logs/ # Логи работы
├── main.py # Точка входа
├── requirements.txt # Зависимости
└── README.md # Документация
⚙️ Конфигурация
Переменные окружения
Переменная | Описание | Значение по умолчанию |
---|---|---|
GEMINI_API_KEY |
API ключ для Gemini AI | - |
Настройки в коде
# В hh_bot/config/settings.py
class AppConstants:
# Параметры поиска
MAX_VACANCIES_PER_PAGE = 50
MAX_SEARCH_PAGES = 5
DEFAULT_MAX_APPLICATIONS = 40
# ИИ анализ
DEFAULT_AI_THRESHOLD = 0.7
# Таймауты
DEFAULT_TIMEOUT = 30
API_PAUSE_SECONDS = 0.5
🤖 ИИ-функциональность
Как работает Gemini AI
- Анализ вакансии - Извлекает требования из описания
- Сопоставление с резюме - Сравнивает навыки и опыт
- Оценка соответствия - Выставляет балл от 0.0 до 1.0
- Принятие решения - Рекомендует откликаться или нет
Пример анализа
🤖 ЭТАП 2: AI анализ вакансий
Анализ 1/15: Python разработчик...
✅ Добавлено в список для отклика
🎯 AI фильтрация завершена:
🤖 Проанализировано: 15
✅ Рекомендовано: 8
📈 % одобрения: 53.3%
📊 Статистика работы
После завершения работы бот предоставляет подробную статистику:
📊 ИТОГОВАЯ СТАТИСТИКА:
============================================================
📝 Всего заявок: 25
✅ Успешных: 18
❌ Неудачных: 2
⚠️ Уже откликались ранее: 5
📈 Успешность: 72.0%
============================================================
🎉 Отлично! Отправлено 18 новых заявок!
💡 Рекомендуется запускать автоматизацию 2-3 раза в день
🔧 Разработка
Установка для разработки
# Клонируем и устанавливаем в dev режиме
git clone https://github.com/your-username/hh-bot.git
cd hh-bot
pip install -e .
# Устанавливаем dev зависимости
pip install pytest black flake8
Запуск тестов
# Базовые тесты
python test_basic.py
# Или через pytest
python -m pytest test_basic.py -v
Проверка качества кода
# Форматирование
python -m black hh_bot/ main.py
# Линтер
python -m flake8 hh_bot/ main.py --max-line-length=100
🛡️ Безопасность
- Случайные паузы между действиями (3-6 секунд)
- Имитация человеческого поведения в браузере
- Respect robots.txt и ограничения API
- Graceful degradation при ошибках
- Подробное логирование для мониторинга
📝 Получение Gemini API ключа
- Перейдите на Google AI Studio
- Войдите в свой Google аккаунт
- Создайте новый API ключ
- Добавьте его в файл
.env
❓ FAQ
Q: Бот не находит вакансии
A: Проверьте ключевые слова поиска и настройки фильтрации
Q: Gemini AI не работает
A: Убедитесь что API ключ указан правильно в .env
файле
Q: Браузер не открывается
A: Установите Chrome браузер, драйвер установится автоматически
Q: Много ошибок в логах
A: Проверьте подключение к интернету и доступность HH.ru
📄 Лицензия
CC BY-NC-SA 4.0 - Некоммерческая лицензия с указанием авторства
⚠️ ВАЖНО: Проект запрещено использовать в коммерческих целях!
- ✅ Разрешено: Личное использование, обучение, исследования
- ❌ Запрещено: Продажа, коммерческие сервисы, монетизация
Подробности в файле LICENSE
🤝 Вклад в проект
- Форкните репозиторий
- Создайте ветку для новой функции
- Внесите изменения
- Добавьте тесты
- Создайте Pull Request
📞 Поддержка
- 🐛 Баги: GitHub Issues
- 💡 Предложения: GitHub Discussions
- 📧 Email: your-email@example.com
⭐ Поставьте звезду, если проект был полезен!