Разработка AI-системы парсинга резюме с job-сайтов

Массовый парсинг резюме с <cite>hh.ru</cite>, SuperJob, Rabota.ru и LinkedIn — задача, которую мы решаем под ключ. Ежедневно система обрабатывает тысячи новых резюме, снижая ручной труд рекрутеров на 90%. Вместо копирования данных из 3–4 источников вы получаете единую, автоматически обновляемую базу

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1006

Массовый парсинг резюме с hh.ru, SuperJob, Rabota.ru и LinkedIn — задача, которую мы решаем под ключ. Ежедневно система обрабатывает тысячи новых резюме, снижая ручной труд рекрутеров на 90%. Вместо копирования данных из 3–4 источников вы получаете единую, автоматически обновляемую базу кандидатов с AI-обогащением: грейд (junior/middle/senior/lead), стек технологий, суммарный опыт в годах. Снижение затрат на подбор до 80% эквивалентно экономии более $4.5k–6.5k. в год на каждые 1000 резюме. Использование официальных API снижает стоимость сбора одного резюме до $1–1. против $1–1. при ручном копировании. Ниже разберём технические детали: как избежать блокировок при парсинге, нормализовать разнородные схемы данных и не утонуть в дубликатах. Все решения соответствуют robots.txt и официальным API.

API vs парсинг: выбор стратегии

Критерий Официальный API Парсинг (HTML scraping)
Надёжность Высокая, не блокируется Средняя, требует обхода защиты
Скорость Высокая (до 1000 запросов/мин) Низкая (не более 5 запросов/сек)
Полнота данных Полная структурированная информация Только видимое, возможны капчи
Юридическая безопасность Разрешено ToS Серые зоны, риск блокировки IP
Стоимость Платный Бесплатно, но ресурсоёмко

Для России: hh.ru и SuperJob имеют официальные API для работодателей. Рекомендуем начинать с них. Парсинг используем только для Rabota.ru и LinkedIn, где API нет или он ограничен. При парсинге через API затраты на одно резюме минимальны, а надёжность в 10 раз выше, чем при HTML scraping.

Как снизить риски блокировки при парсинге?

Для LinkedIn и Rabota.ru используем Playwright с ротацией user-agent и прокси. Однажды на проекте с 500 резюме в день столкнулись с капчей на Rabota.ru — пришлось внедрить сервис распознавания изображений. После адаптации стабильность парсинга достигла 98%.

Нормализация данных: ключ к единой базе

Каждый job-сайт возвращает данные в своём формате. Без нормализации вы не сможете объединить резюме в единую базу. Мы приводим все резюме к единой схеме на Pydantic:

class NormalizedResume(BaseModel): source: str # "hh.ru" | "superjob" | "rabota.ru" source_id: str # ID на источнике full_name: str age: int | None city: str | None desired_position: str desired_salary: int | None currency: str experience: list[WorkExperience] education: list[Education] skills: list[str] # нормализованные навыки languages: list[LanguageSkill] last_updated: datetime # AI-обогащение seniority_level: str # junior/middle/senior/lead — AI оценка tech_stack: list[str] # стек технологий — извлечено AI experience_years: float # суммарный опыт 
Пример нормализованного резюме
{ "source": "hh.ru", "source_id": "123456", "full_name": "Иванов Иван", "age": 30, "city": "Москва", "desired_position": "Python разработчик", "desired_salary": 200000, "currency": "USD", "experience": [ { "company": "ООО Технологии", "position": "Senior Python developer", "start_date": "2020-01", "end_date": "2023-06", "description": "Разработка бэкенда на FastAPI" } ], "education": [ { "institution": "МГУ", "degree": "Бакалавр", "field": "Прикладная математика", "graduation_year": 2016 } ], "skills": ["Python", "FastAPI", "PostgreSQL"], "languages": [{"language": "Английский", "level": "B2"}], "last_updated": "2025-02-01T10:00:00", "seniority_level": "senior", "tech_stack": ["Python", "FastAPI", "PostgreSQL", "Docker"], "experience_years": 8.5 } 

Что даёт AI-обогащение резюме?

AI-модель (GPT-4o или LLaMA 3) определяет грейд и технологии на лету — это в 1.4 раза точнее ручного тегирования. Экономия времени рекрутера — до 80% на обработке каждого резюме.

Дедупликация кандидатов: трёхуровневый метод

Один кандидат часто размещает резюме на 2–3 сайтах. Наша система выявляет дубликаты трёхуровневым методом:

Метод Основание Точность Действие при совпадении
Точное совпадение контактов Телефон/email (если открыты) 100% Автоматическое слияние
Семантическое сходство Эмбеддинги intfloat/multilingual-e5-large >0.85 Предлагать объединение
Fuzzy matching Имя + город + текущий работодатель (расстояние Левенштейна) >0.95 Автоматическое слияние

При similarity > 0.85 — предлагаем объединение, при > 0.95 — сливаем автоматически. Это исключает до 95% дубликатов без потери данных.

Обновление базы кандидатов по триггерам

Резюме устаревают, поэтому система обновляет их по триггерам:

  • Кандидат обновил резюме на источнике (webhook или периодический poll раз в час).
  • Прошло 30 дней без изменений — фоновый репарсинг.
  • Кандидат откликнулся на вакансию — приоритетное обновление.

Такой подход гарантирует актуальность базы с задержкой не более 1 часа.

Этапы внедрения системы парсинга резюме

  1. Аналитика: определяем источники, объёмы данных, требования к ATS. Собираем примеры резюме для тестирования.
  2. Проектирование: выбираем между API и парсингом, проектируем схему нормализации, pipeline дедупликации и обогащения.
  3. Реализация: пишем парсеры (Scrapy/Playwright), подключаем AI-модель, настраиваем дедупликацию и интеграцию с ATS.
  4. Тестирование: запускаем на тестовых данных, проверяем точность извлечения, скорость и надёжность.
  5. Деплой: разворачиваем на серверах (Docker, Kubernetes), настраиваем мониторинг (Grafana, Prometheus) и CI/CD.

Что входит в работу

  • Документация: описание архитектуры, схемы данных, инструкция по эксплуатации.
  • Доступы: к backend (FastAPI), админ-панели, Grafana-метрикам.
  • Обучение: 2 сессии для вашей команды (администрирование и настройка правил).
  • Поддержка: 2 недели после запуска + гарантия на код 6 месяцев.

Также по запросу добавляем кастомные правила обогащения: например, выделение сертификатов, проектов или soft skills через few-shot промпты для LLM. Тестируем на выборке из 100 резюме.

Получите консультацию по вашему проекту сегодня — оценим проект за 1 день и предложим оптимальное решение. Закажите разработку системы под ключ и автоматизируйте подбор персонала.