Поиск вакансий на hh.ru по ключевому слову

Демопример показывает, как выполнить поиск вакансий на hh.ru через API и обработать полученный ответ в Loginom.

Сценарий получает токен приложения, выполняет запрос к сервису поиска вакансий и преобразует JSON-ответ в таблицу. В результате можно получить данные по найденным вакансиям: название, регион, работодатель, зарплату, требования, обязанности, график работы и ссылку на вакансию.

Запустить демо

Установить локально

Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.

Предварительная подготовка

Перед запуском сценария необходимо зарегистрировать приложение в кабинете разработчика hh.ru и получить данные для работы с API.

Регистрация приложения

В кабинете разработчика hh.ru создаётся новое приложение для работы с API. При создании приложения заполняются основные данные:

  • название приложения;
  • Redirect URI;
  • контактная информация;
  • описание назначения приложения;
  • список используемых методов API.

В описании приложения можно указать, что оно используется для интеграции Loginom с API hh.ru, поиска вакансий и последующей обработки данных в аналитическом сценарии.

В настройках приложения указывается Redirect URI. Для демопримера можно использовать адрес-заглушку:

https://localhost/callback

После одобрения заявки в карточке приложения будут доступны:

Имя Назначение
Client ID Идентификатор приложения
Client Secret Секретный ключ приложения
Redirect URI Адрес перенаправления

Client Secret нельзя передавать третьим лицам, так как это секретный ключ приложения.

Ограничения авторизации и поиска вакансий

При работе с API hh.ru необходимо учитывать правила авторизации приложения и особенности выполнения запросов к сервису. Ограничения и требования к авторизации описаны в документации hh.ru: Авторизация приложения.

Параметры запроса, ограничения и особенности поиска вакансий описаны в разделе документации hh.ru: Поиск вакансий.

Описание алгоритма

1. Получение токена

Во входном порту переменных подмодели Получение токена указываются полученные ранее значения.

Имя Метка Значение
 client_id ID клиента Вводится полученный Client ID
 client_secret Секретный ID клиента Вводится полученный Client Secret

Эти переменные используются для получения токена приложения.

В подмодели Получение токена выполняется запрос к API hh.ru, в результате которого получается токен приложения.

а) Запрос токена

В подмодели Запрос токена из переменных client_id и client_secret формируется тело запроса. Тело запроса далее преобразуется в таблицу с помощью узла Переменные в таблицу.

На странице Подключения настроено подключение REST-сервиса для получения токена приложения.

В узле REST-запрос выполняется обращение к сервису. На выходе узла возвращается ответ сервера в формате JSON.

Узел Сообщение о лимите 5 минут проверяет результат REST-запроса. Если сервер вернул ошибку 403 Forbidden, сценарий формирует сообщение о превышении лимита.

б) Парсинг

В подмодели Парсинг ответ сервера преобразуется из JSON в табличный вид.

в) Сборка токена

В подмодели Сборка токена к значению поля access_token добавляется слово Bearer.

С помощью узла Таблица в переменную подготовленное значение записывается в переменную access_token и передаётся на выход подмодели.

2. Поиск вакансий

Во втором входном порту переменных подмодели Поиск вакансий задаются значения для поиска вакансий.

Имя Метка Значение
 text Поиск по ключевому слову Вводится поисковый запрос, например Аналитик
 page Номер страницы Значение по умолчанию 0. Переменная используется как начальная страница запроса и вручную не изменяется.
 count_page Количество страниц Значение по умолчанию 5. Вводится количество страниц для загрузки.
 per_page На странице Значение по умолчанию 20. Вводится количество вакансий на одной странице.

Подмодель Поиск вакансий выполняет запросы к API hh.ru по ключевому слову и получает несколько страниц результатов.

а) Соединение переменных

В узле Соединение переменных объединяются переменные, которые нужны для выполнения последующего REST-запроса.

б) Параметры запроса

В узле Параметры запроса переменные text, page и per_page преобразуются в таблицу для передачи в REST-запрос.

в) Запрос первой страницы по ключевому слову

В подмодели Запрос первой страницы по ключевому слову выполняется запрос к сервису hh.ru. Сервис возвращает данные в формате JSON, после чего ответ преобразуется в таблицу, а полученные данные приводятся к нужному виду.

В узле Условие для цикла с постусловием формируется условие выполнения цикла, по которому выполняется выгрузка данных по всем страницам вакансий.

г) Запрос нескольких страниц по ключевому слову

Для загрузки нескольких страниц используется узел Цикл, настроенный на выполнение подмодели Запрос первой страницы по ключевому слову.

Параметры настройки Цикла:

  • Вид цикла — Цикл с постусловием
  • Переменная — Флаг окончания
  • Условие завершения — true
  • В сопоставлении переменных поле Номер страницы новая передаётся во входную переменную Номер страницы.

Условие завершения цикла задаётся в узле Условие для цикла с постусловием. Когда нужное количество страниц загружено, в переменную Флаг окончания записывается значение true.


Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.

Новости, материалы по аналитике, кейсы применения, активное сообщество