GetMatch — это сервис, который помогает IT-специалистам находить работу, а компаниям — закрывать вакансии. В отличие от классических job-бордов, GetMatch сразу показывает зарплатные вилки.
Идея «просто» автоматизировать парсер вакансий зародилась у нас с Сашей Варламовым (канал Саши
@data_bar) – как часто бывает, слово «просто» стало началом чего-то действительно масштабного. Сейчас у нас есть полноценная автоматизированная система, которая ежедневно парсит вакансии с GetMatch, загружает их в PostgreSQL, тянет курс рубля и доллара, отправляет отчеты в Telegram и полностью автоматизирует ETL-процесс для аналитики в дашборде.
Поднял Airflow в docker-compose на
Timeweb (не реклама, просто нравится админка), чтобы DAG’и можно было запускать и мониторить централизованно. Добавил CI/CD на GitHub Actions, чтобы больше не заходить на виртуалку вручную — всё деплоится автоматически. Был парсер getmatch, но я его переписал под
Airflow с Taskflow API. Разделил задачи, сделал их атомарными и настроил on_failure_callback, который отправляет сообщения об ошибках в Telegram-канал. Теперь, если что-то сломается, я узнаю об этом сразу, а не через неделю, когда появится дыра в данных.
База данных PostgreSQL развернута на другом VPS, чтобы разграничить вычисления и хранение данных. Создал таблицы vacancies, vacancy_skills, skills, где skills сразу вынесена в ref-таблицу, чтобы не дублировать текстовые значения. Настроил пользователей и доступы, подключил базу к Airflow. Бэкапы настроены на ежедневное обновление.
Теперь каждая вакансия и навык привязаны к конкретному дню, что позволяет анализировать динамику рынка труда. Каждое утро DAG собирает свежие вакансии, тянет курсы валют и обновляет таблицы, а в Telegram приходит сообщение с итогами работы: сколько вакансий обработано, какие ошибки возникли.
Теперь в дашборде можно:
• Смотреть историю изменения вакансий по дням
• Анализировать время жизни вакансий и скорость закрытия
• Отслеживать корреляцию зарплат с навыками
• Изучать спрос на скиллы в динамике
Раньше были просто “актуальные вакансии”, теперь есть полноценная разбивка по дням, что открывает больше возможностей для анализа.
Посмотри на наш дашборд анализа зарплатных вилок
В планах — развернуть dbt и начать собирать слой трансформаций, чтобы сразу приводить данные в нужный вид для аналитики.
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram