Проекты / мониторинг рынка вакансий

Проект · Python, Selenium, DuckDB, Superset

Мониторинг рынка вакансий аналитиков

Личный инструмент для анализа рынка труда аналитиков в РФ: парсер собирает все аналитические вакансии с hh.ru, база DuckDB хранит историю выгрузок, а дашборды показывают спрос по городам, опыту, грейдам, специализациям и зарплатам.

Работы по проекту

Интерактивный дашборд по актуальному срезу: фильтры по городу, опыту, грейду, профилю и зарплате, распределение зарплат, список вакансий со ссылками на hh.ru.

  • интерактивно
  • ECharts

Как устроено

  1. Сбор. Парсер на Python (Selenium + BeautifulSoup) проходит 32 сегмента поиска: регион × опыт × формат работы × наличие зарплаты. Так поиск по «аналитик» покрывает весь рынок, а не первые страницы выдачи. Полный прогон - около 40 минут и несколько тысяч вакансий.
  2. Хранение. Вакансии после дедупликации попадают в DuckDB. Для каждой хранится дата первого и последнего появления, поэтому актуальный срез - это вакансии, которые были на hh.ru в последней выгрузке.
  3. Разметка. По названию вакансии SQL-правила определяют грейд (junior, middle, senior, lead) и специализацию (системный, бизнес-, 1С-, инвест-, дата-аналитик и другие).
  4. Анализ. Рабочий дашборд - в Apache Superset на сервере, в Docker. Для сайта данные выгружаются в статичный дашборд, который работает прямо в браузере.

Парсер запускается вручную, по необходимости, а не по расписанию: так меньше нагрузка на hh.ru и нет риска антибот-блокировок.

Серия постов в канале

Код проекта на GitHub