
Когда случается потерять работу, люди ищут новую разными путями: мониторят порталы по найму, подписываются на ленты компаний, вычитывают чаты профессиональных сообществ.
В этом утомляющем беге, именуемом расширение каналов поиска, немудрено пройти мимо лент вакансий из муниципального сектора по причине, что доставка информации потребителю в госсекторе обычно не блещет удобством. Да и вообще мало кто знает, что вместо ежедневного хождения к информационным стендам местного Центра занятости можно оперативно получать соискательскую информацию на смартфон.
Для устранения таких походов к стенду я разработал и делюсь с сообществом бесплатным веб-приложением, которое, будучи загруженным на хостинг, сможет через заданный интервал времени подключаться к государственной базе «Работа России» с целью забрать новые вакансии для интересующего города и вывести в ваш Telegram-канал.
Получается как бы личный информер, что в реальном времени маячит вам через Telegram о только что появившейся вакансии, а её текст доступен для чтения сразу же в полном объёме без лишних телодвижений.
Информер легко настраиваемый, удобный в эксплуатации. А более полугода тестирования на 20 городских каналах подтвердило устойчивую безошибочную работу. Вот список этих каналов, можете вживую посмотреть результат работы приложения:
Где скачать
Исходные коды данного веб-приложения, которое я назвал Repost Vacancies, описание его установки и настройки можете взять в любом из моих репозиториев:
Далее же я сообщу немного полезных сведений об общероссийской базе Роструда, чтобы вы понимали, почему вакансии оттуда тоже востребованы соискателями. Эти сведения также пригодятся, если захотите доработать моё приложение под собственные нужды, в частности переработать реализованный сейчас механизм парсинга вакансий.
Историческая справка
Официальный информационный портал Федеральной службы по труду и занятости «Работа России» начал свою работу 16 января 2009 года.
Презентуя его запуск, тогдашний Министр здравоохранения и социального развития РФ Татьяна Голикова рассказала, что этот проект является первым государственным общероссийским банком вакансий, который содержит актуальную информацию о вакантных рабочих местах по всей стране, а именно — оперативные сведения из 85 региональных служб занятости населения и 2,5 тысяч муниципальных центров по трудоустройству.
С первых же дней работы портал «Работа России» предлагал поиск вариантов трудоустройства для всех заинтересованных граждан. Ведь в базу данных поступали сведения о вакантных рабочих местах из регистра получателей государственных услуг (работодателей) в сфере занятости населения. А значит, эти сведения имели высокую степень верификации, поскольку брались из заявок, принесённых лично работодателями (или их представителями) в городские центры занятости на местах.
Как сообщал позже пресс-центр Роструда, за первые часы работы портал посетили более 120 тысяч пользователей российского сегмента сети Интернет. Наибольший интерес проявили жители Москвы, Санкт-Петербурга, а также Екатеринбурга, Ростова-на-Дону, Краснодара, Самары.
Среди заинтересовавших разделов оказались два: «Поиск работы» и «Поиск работника». Первый раздел содержит данные о вакантных рабочих местах во всех субъектах Российской Федерации. Во втором размещена информация о гражданах, обратившихся в органы службы занятости населения и изъявивших желание осуществлять трудовую деятельность вне территории постоянного проживания.
На начальном этапе работы портала база данных этих разделов обновлялась не реже 2 раз в месяц. Сегодня же оперативность обновления выросла настолько, что фильтр поиска содержит даже опцию «за сутки».
Разработчики особо подчёркивали, что отличиями портала являются:
-
бесплатность для пользователя;
-
надежность контрагентов;
-
поддержка со стороны органов государственной службы занятости населения;
-
отсутствие рекламы;
-
вакансии и работодатели на портале подлежат тщательной проверке.
Последний аргумент был важен для соискателей, так как ограждал от невнятных предложений трудоустройства или мошенничества наподобие того, которое могло цвести в частных группах, форумах, сайтах, принимающих объявления о предлагаемой работе от кого угодно без подтверждения достоверности.
Разработчики также очертили круг источников, откуда собираются вакансии:
-
от центров занятости населения, проверяющих сведения, предоставляемые работодателями;
-
напрямую от самих работодателей, проверенных либо центрами занятости, либо с использованием средств криптографической защиты;
-
от крупнейших коммерческих порталов по поиску и подбору работы.
Был даже создан 5-минутный промо-ролик, объясняющий гражданам достоинства государственного портала. Ведь он сразу стал привлекательной альтернативой прежним способам поиска работы в интернете.
Открытые данные и появление API
К 2018 году спрос на услугу поиска вакансий достиг уровня, когда назрел вопрос автоматизации этой услуги ещё и с помощью сторонних интеграций. То есть дать людям, у которых есть своя сложившаяся интернет-аудитория, возможность устроить поиск или показ этих вакансий прямо на своём сайте (портале, площадке, канале, приложении).
Для обеспечения такой цели информацию по вакансиям перевели в разряд открытых данных, то есть доступных для свободного чтения и использования на стороне любым желающим при условии, что тот предоставляет их своей аудитории в неизменённом виде.
А в качестве программного интерфейса для подобных действий создали API версии 1 с краткой документацией. К первой версии также приложили на языке Web Application Description Language (WADL) полное описание схемы допустимых запросов к той части портала, что стала теперь представлять собой REST-подобный веб-сервис.
Схема состоит всего из 6 типов запросных URL, где фигурными скобками обозначен некий подставляемый параметр:
-
opendata.trudvsem.ru/api/v1/vacancies— получить все вакансии; -
opendata.trudvsem.ru/api/v1/vacancies/region/{region_code}— получить вакансии конкретного региона; -
opendata.trudvsem.ru/api/v1/vacancies/company/{companyCode}— получить вакансии конкретной компании; -
opendata.trudvsem.ru/api/v1/vacancies/vacancy/{companyCode}/{vacancyId}— получить информацию о конкретной вакансии; -
opendata.trudvsem.ru/api/v1/vacancies/company/inn/{inn}— получить вакансии конкретного работодателя по его ИНН; -
opendata.trudvsem.ru/api/v1/vacancies/company/ogrn/{ogrn}— получить вакансии конкретного работодателя по его ОГРН.
Необязательные параметры запроса служат для сужения границ поиска, они представлены следующими GET-параметрами:
-
offset— номер страницы (исчисляется от 0); -
limit— число вакансий на странице (до 100 штук); -
modifiedFrom— фильтр по дате (не ранее); -
modifiedTo— фильтр по дате (не позже); -
experienceFrom— фильтр по годам опыта работы (не менее); -
experienceTo— фильтр по годам опыта работы (не более); -
industry— фильтр по сфере деятельности; -
source— фильтр по источнику вакансий; -
accommodation— фильтр по возможности предоставления жилья; -
social_protected— фильтр по группе социальной защищённости; -
text— фильтр по ключевому слову; -
uzbekistan— фильтр по участвующим в организованном наборе.
Ответом на каждый запрос является JSON-пакет, содержащий либо результат запроса, либо описание ошибки.
Виджеты
Чуть позже на портал «Работа в России» добавили ещё пару JavaScript-виджетов, опирающихся на iframe-реализацию. Этот жест был сделан для тех, кто не владеет навыками самостоятельной интеграции, но всё же хочет предоставить посетителям своего сайта услугу поиска вакансий.
Примечательно, что виджет поиска использует улучшенную (ещё недокументированную на портале) версию API, поскольку первая версию умеет фильтровать вакансии лишь по региону, а виджет умеет ещё и по конкретному городу или району этого региона.
URL-ы недокументированных запросов выглядят так:
-
trudvsem.ru/iblocks/_catalog/flat_filter_prr_search_vacancies/data— получить список вакансий; -
trudvsem.ru/iblocks/job_card— получить данные о конкретной вакансии.
Первый URL имеет такие GET-параметры:
-
filter— JSON-пакет необязательных опций фильтрации:-
regionCode— код искомого региона; -
districts— код искомого города или района; -
publishDateTime— срок давности вакансии:-
EXP_0— за сутки; -
EXP_1— за три дня; -
EXP_2— за неделю; -
EXP_3— за месяц; -
EXP_MAX— за всё время.
-
-
и прочие менее значимые опции.
-
-
orderColumn— порядок сортировки:-
RELEVANCE_DESC— по релевантности; -
PUBLISH_DATE_DESC— сначала новые; -
PUBLISH_DATE_ASC— сначала старые; -
SALARY_DESC— по убыванию зарплат; -
SALARY_ASC— по возрастанию зарплат.
-
-
page— номер страницы (исчисляется от 0); -
pageSize— число вакансий на странице (всегда 10).
Второй URL имеет такие обязательные GET-параметры:
-
companyId— идентификатор компании; -
vacancyId— идентификатор искомой вакансии.
Моё приложение использует именно эту недокументированную версию API, поскольку она предоставляет 3 важные для мультиканального парсинга возможности: фильтровать по конкретному городу, отсекать неактуальное по желаемому сроку давности, сортировать отобранное по дате.
ссылка на оригинал статьи https://habr.com/ru/articles/1052894/