Этот проект предназначен для анализа данных с платформы HH.ru (HeadHunter). В ходе работы был выполнен сбор, очистка и анализ данных вакансий, размещенных на сайте.
Проект по сбору данных с API HH.ru представляет собой стратегически важный инструмент для бизнеса, который улучшает понимание рыночной ситуации, оптимизирует процессы найма и помогает в разработке эффективных кадровых стратегий.
- Анализ рыночных тенденций: Определение востребованных профессий, навыков и уровней зарплат.
- Оценка конкурентоспособности: Сравнение предложений компании с вакансиями конкурентов.
- Оптимизация ресурсов: Выявление востребованных ролей и фокусировка на ключевых позициях.
- Повышение эффективности: Снижение времени поиска кандидатов и оптимизация рекламы вакансий.
- Прогноз зарплатных ожиданий: Подготовка к изменениям на рынке.
- Оптимизация затрат: Расчет бюджета для привлечения сотрудников с учетом рыночных данных.
- Оценка потребности в обучении: Выявление актуальных навыков для подготовки сотрудников.
- Прогнозирование трендов: Подготовка к будущим изменениям на рынке.
Процесс включает сбор информации о вакансиях через API HH.ru с учетом следующих шагов:
- Настройка логирования: Используется библиотека
loguru, логи хранятся в файлеetl_process.logс ротацией каждые 7 дней. - Функция
fetch_vacancies():- Запрос данных через API с обработкой результатов.
- Логирование прогресса каждые 5 страниц.
- Обработка ошибок и пауз: Учтены сетевые ошибки и ограничения API (задержка 1 секунда между запросами).
- Финальный результат: Все вакансии сохраняются в список для дальнейшей обработки.
Для анализа данных выполняются следующие шаги:
- Очистка данных:
- Удаление пустых значений в ключевых столбцах.
- Преобразование зарплат в рубли с использованием курса валют.
- Очистка текстов от HTML-тегов.
- Преобразование зарплат: Использование курсов ЦБ РФ для конвертации в единую валюту.
- Сохранение данных: Обновленные данные сохраняются в базу данных SQLite.
В ходе анализа данных о вакансиях были выявлены следующие ключевые аспекты:
-
Распределение зарплат:
- Гистограмма показывает асимметрию распределения зарплат, где большинство значений находятся в диапазоне от 75,000 до 350,000 рублей.
- Пики распределения:
- Медианные значения "Salary From" сосредоточены около 150,000 рублей.
- Верхняя граница зарплат ("Salary To") имеет больший разброс, достигая до 1,000,000 рублей и выше.
- Зарплаты выше 400,000 рублей встречаются редко, что указывает на нишевые вакансии с высокими требованиями.
-
Особенности распределения:
- Нижние границы зарплат ("Salary From") сгруппированы ближе к реальным значениям минимальных предложений, в то время как верхние границы ("Salary To") варьируются с большим диапазоном.
- Форма графика указывает на логнормальное распределение, характерное для данных о зарплатах.
- Общее количество записей: 534.
- В датасете отсутствуют пропущенные значения, что делает его готовым для дальнейшего анализа.
- salary_from и salary_to: Диапазоны зарплат в рублях.
- area_name: Географическое расположение вакансий.
- snippet_requirement и snippet_responsibility: Описание требований и обязанностей.
- professional_roles: Категории профессиональных ролей.
- Вакансии охватывают широкий спектр областей, включая BI-аналитику, инженеров данных, а также разработчиков решений.
- Большинство вакансий опубликовано в крупных городах, таких как Москва и Новосибирск.
- Пропуски отсутствуют, что делает возможным выполнение дальнейшего анализа без дополнительной очистки.
| Метрика | Значение (%) |
|---|---|
| Консистентность данных | 100 |
| Актуальность данных (среднее количество дней) | 2.27 |
| Уникальность данных | 100 |
| Качество текстовых данных (средняя длина текста) | 148.34 |
Выводы:
- Данные полны, логически согласованы и актуальны.
- Средняя длина текстов позволяет использовать их для анализа требований и обязанностей.
- Инициализация базы данных: Создание таблицы
vacanciesс полями для хранения информации о вакансиях. - Получение данных через API HH.ru: Сбор вакансий по ключевым параметрам.
- Сохранение данных: Использование метода
INSERT OR IGNOREдля предотвращения дублирования. - Обработка данных: Очистка, преобразование и подготовка данных к анализу.
- Метрики:
- Общее количество вакансий.
- Средняя зарплата.
- Количество уникальных регионов.
- Фильтры:
- Выбор регионов.
- Фильтрация по уровню опыта.
- Графики:
- Средняя зарплата по регионам: Топ-10 регионов.
- Популярные роли с зарплатой: Топ-10 ролей.
- Зависимость зарплаты от опыта: Интерактивные столбчатые графики.

