Как выгрузить вакансии с hh.ru в таблицу: все способы
Таблица вакансий с зарплатами и ссылками — сырьё для половины HR-задач: срез рынка для руководства, список конкурентов за кандидата, данные для медиаплана. Разберём четыре способа получить такую таблицу с hh.ru — от копирования руками до готового сервиса — с честными плюсами и минусами каждого.
Способ 1. Вручную в Excel
Открываете выдачу hh.ru и переносите вакансии в таблицу: название, компания, вилка, ссылка. Бесплатно, без инструментов, полный контроль над каждой строкой.
Расплата — время и ошибки. Десять вакансий копируются за десять минут, но на массовой позиции выдача — сотни строк: это часы механической работы, опечатки при переносе и неизбежный соблазн «хватит и первых трёх страниц» — после которого выборка перестаёт отражать рынок.
Итог: нормально для пары десятков вакансий, не масштабируется дальше.
Способ 2. Самописный скрапер
Скрипт (обычно Python + BeautifulSoup/Selenium), который ходит по страницам hh.ru и вытаскивает данные из вёрстки. В теории — бесплатная автоматизация; на практике у скрапинга три хронические болезни:
- капча и антибот — hh.ru активно защищается, скрипт упирается в проверки и баны по IP;
- хрупкость — любое обновление вёрстки ломает парсер, и его надо чинить;
- поддержка — нужен человек, который пишет, чинит и запускает; для HR-команды это отдельная зависимость.
Плюс серая зона по правилам сайта: скрапинг обходит защиты, которые hh.ru ставит намеренно.
Итог: рабочий вариант для энтузиаста-одиночки, плохой — как процесс в команде.
Способ 3. Официальный API hh.ru напрямую
У hh.ru есть открытый API — легальный канал, через который данные отдаются структурированно: без капчи, без парсинга вёрстки, со стабильным форматом. Это правильный фундамент, но «напрямую» им пользуются в основном разработчики: нужно зарегистрировать приложение, разобраться с параметрами и пагинацией, учесть лимит выдачи (2000 вакансий на запрос) и написать код, который превратит JSON в таблицу и статистику.
Итог: идеально, если в команде есть разработчик и задача постоянная. Избыточно, если таблица нужна к завтрашней планёрке.
Способ 4. Готовый сервис поверх API
Тот же официальный API, но упакованный в интерфейс: вводите должность, город и период — сервис собирает до 2000 свежих вакансий на ключ и отдаёт готовую выгрузку в таблицу: название, компания, город, вилка и живая ссылка на каждую вакансию, с фильтрами по зарплате и названию.
Бонус, которого нет у «голой» выгрузки: статистика считается сразу — медиана и вилки зарплат, топ нанимающих компаний. То есть на выходе не только сырьё, но и готовый срез рынка; что ещё умеет инструмент — на странице парсера вакансий hh.ru.
Итог: самый короткий путь от вопроса до таблицы, если не хочется кодить и поддерживать скрипты.
Что должно быть в хорошей выгрузке
Каким бы способом вы ни пользовались, проверьте, что таблица содержит минимум для аналитики:
- название вакансии и работодателя — иначе не построить топ конкурентов;
- город — для сравнения регионов;
- зарплату «от» и «до» раздельно — для медианы и вилок;
- живую ссылку на вакансию — чтобы каждую строку можно было проверить первоисточником;
- дату сбора — данные о рынке труда устаревают за недели.
Вывод
Руками — медленно, скрапером — хрупко и рискованно, API напрямую — правильно, но требует разработчика. Готовый сервис поверх официального API берёт лучшее из двух последних: легальные структурированные данные без единой строчки кода. Попробовать можно бесплатно — первые пять выгрузок не требуют карты.