avatar
Joni in Web
@joni_in_web
17.02.2025 07:02
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 и начать собирать слой трансформаций, чтобы сразу приводить данные в нужный вид для аналитики.
❤‍🔥 12
🔥 7
👏 4
👍 3
1
👻 1
274 10.6K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

Joni in Web

215
Канал Никиты.
Делюсь проектами, ошибками и лайфхаками.

🎯 Учиться, учиться — и получить прекрасный оффер!
Открыть в Telegram