Поиск вакансий на 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.