Научная статья на тему 'Применение механизмов имитации действий пользователя при создании сервиса интеграции сайтов по поиску работы'

Применение механизмов имитации действий пользователя при создании сервиса интеграции сайтов по поиску работы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
325
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
API ПОИСКА / ПОИСК РАБОТЫ / SEARCH API / JOB

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гранаткин Д.С., Галиаскаров Э.Г.

В данной статье рассматриваются проблемы, которые порождаются существованием большого количества сайтов по поиску работы. Показано, что в основном эти проблемы затрагивают соискателей. Было предложено решение создание сервиса интеграции сайтов по поиску работы. Для разработки этого сервиса в статье предлагаются два возможных способа его технической реализации: применение API и механизма имитации действий пользователя. По причине выявленных трудностей в использовании API, основное внимание уделено второму способу. На основе рассмотренного механизма имитации действий пользователя предлагается архитектура сервиса интеграции.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This article discusses the problems that are generated by the existence of a large number of job sites. It has been shown that most of these problems affect the applicants. It was suggested a solution the development of a job sites integration service. For the development of this service the article suggests two possible ways of its technical realization: the use of the API and the user action simulation mechanism. Because the API usage has the difficulties encountered in, the main attention is paid to the second approach. On the basis of the user action simulation mechanism it was proposed an integration service architecture.

Текст научной работы на тему «Применение механизмов имитации действий пользователя при создании сервиса интеграции сайтов по поиску работы»

6. Смирнов, С.В. Прагматика онтологий: объектно-ориентированная модель знаний о предметной области / С.В. Смирнов // 11-я Нац. конф. по искусственному интеллекту с международным участием КИИ-2008 (28 сентября-03 октября 2008 г., Дубна, Россия): Труды конф. Т. 3. - М.: ЛЕНАНД, 2008. - С. 208-216.

УДК 004.04

ПРИМЕНЕНИЕ МЕХАНИЗМОВ ИМИТАЦИИ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ ПРИ СОЗДАНИИ СЕРВИСА ИНТЕГРАЦИИ САЙТОВ ПО ПОИСКУ РАБОТЫ

Гранаткин Денис Сергеевич, студент, Ивановский государственный химико-технологический университет, Россия, Иваново, dengranatkin94@mail.ru

Галиаскаров Эдуард Геннадьевич, к.х.н., доцент, Ивановский государственный химико-технологический университет, Россия, Иваново, portugaled@yandex.ru

Введение

Как известно, у любого человека существует множество потребностей, например, в питании, жилье, одежде, комфортном отдыхе. Так сложилось, что для удовлетворения большинства этих потребностей человеку необходимо обеспечивать себя материально. Для этого люди ищут какой-то источник заработка, и основным из них является устройство на работу. Но ведь для того, чтобы на нее устроится, нужно сначала ее найти.

Найти работу можно многими способами - просматривать объявления в газетах, рекламу по телевизору и радио. Подобные объявления даже можно встретить на улицах города - на досках объявлений, различных листовках, баннерах и билбордах.

С появлением сети Интернет стало возникать множество сайтов по поиску работы, на которых соискателю достаточно лишь опубликовать свое резюме, и работодатель, если его устраивает данная кандидатура, сам связывается с ним. Можно сказать, что основной целью сайтов по поиску работы (хантеров) является предоставление возможности «связать» работодателя с соискателем

Соискатель, стремящийся поскорее найти место работы, публикует свое резюме на многих сайтах по поиску работы, которых к сегодняшнему дню существует огромное количество. Практика показывает, что спустя небольшой промежуток времени он забывает о многих сайтах, на которых регистрировал свое резюме, и просматривает лишь 1-2 сайта по поиску работы, в надежде на отклик работодателя. Существует вероятность того, что на сайтах, которые просматривает соискатель, ни один работодатель не откликнется на его резюме, или же ему будет предложена менее привлекательная вакансия, чем на тех сайтах, про которые он забыл.

Вышесказанное наводит на мысль о том, что большое количество сайтов-хатнетров замедляет поиск работы соискателями, а так же сужает круг предлагаемых им вакансий в том плане, что не все из этих вакансий будут просмотрены.

Возникает вопрос «Как избавиться от этих проблем?». Разумеется, на любой вопрос можно найти ответ, и эта статья содержит один из возможных вариантов ответа на него.

Решение

Одним из решений данной задачи является создание сервиса, интегрирующего в себе большинство сайтов по поиску работы. Под интеграцией здесь понимается та часть сайтов -хантеров, которая касается соискателей и их резюме. Подразумевается, что соискателю будет достаточно зарегистрировать свое резюме лишь в этом сервисе, после чего оно автоматически будет опубликовано на тех сайтах по поиску работы, с которыми

предполагает работать сервис. В случае, если резюме соискателя найдет отклик работодателя, его можно будет просмотреть в личном кабинете соискателя на сервисе.

На первый план встает вопрос технической реализации сервиса интеграции: «Как он будет автоматически регистрировать соискателя и его резюме на сайтах по поиску работы?». Вообще говоря, проблема взаимодействия веб-приложений между собой стала особенно актуальна с развитием глобальных социальных сетей и сервисов. Стандартный набор функций какого-либо портала может включать, например, возможность отправки сообщений в Twitter, авторизацию через Facebook, интеграцию Яндекс-маркет и возможность оплаты услуг через систему Деньги Online. Все эти и подобные возможности присутствуют в современном вебе [1].

Использование API

Наиболее распространенным способом взаимодействия веб-приложений является использование API.

API (application programming interface) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах [2].

API обычно используют для интеграции одной системы с другой, чтобы они взаимодействовали синхронно и обменивались данными [3]. Он предназначен не для пользователей, а для скрипта со стороннего сайта (сервиса), который посылает GET/POST запросы и получает ответ.

Многие сайты по поиску работы имеют API, но, в большинстве случаев, для его использования требуется явно запросить у сайта-хантера предоставление этого интерфейса.

Как известно, основной доход сайты по поиску работы получают от работодателей, которые платят за предоставление им доступа к банкам резюме соискателей. Очевидно, этот доход прямо пропорционален количеству резюме, хранящихся в банках у сайтов-хантеров.

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

Основываясь на этом, можно предположить, что сайты-хантеры откажутся предоставлять API сервису интеграции. Более того, некоторые сайты по поиску работы вообще не имеют такого интерфейса.

Использование механизма имитации действий пользователя

Второй способ технической реализации данного сервиса интеграции основывается на имитации действий пользователей.

Для наглядности в общем виде разберем процесс авторизации на сайте с двух позиций: 1) С точки зрения пользователя происходит следующее:

Рис. 1 - Авторизация с точки зрения пользователя 2) Машина (браузер) эту последовательность действий интерпретирует так:

Рис. 2 - Авторизация с точки зрения машины

Если с пользователем все понятно, то действия браузера следует немного пояснить. В данном случае при формировании Ы*р-запроса браузер формирует заголовки запроса, собирает значения полей формы авторизации (логин и пароль) и посылает эти данные обрабатывающему скрипту на стороне сервера. В случае если данные корректны, сервер посылает в ответ браузеру Ы*р-ответ, содержащий тело ответа, заголовки ответа и другие параметры, которые браузер представляет в понятном для пользователя виде. Применительно к рассматриваемому случаю, в ответе будет содержаться личный кабинет пользователя.

«device» Мобильное устройство

«веб браузер»

«device» Персональный компьютер

«веб браузер»

«device»

Персональный компьютер

«веб браузер»

«device» Сервер

Сайт по поиску работы

http

http

http

«device»

Сервер

Сайт по поиску работы

https

«device»

Сервер

«Операционная система»

https

«веб сервер»

«веб приложение» Л Сервис интеграции

«de Сер

tcp/ip

vice» вер

«Операционная система»

/

«СУБД» MySQL

БД сервиса интеграции

Рис. 3 - Архитектура размещения сервиса интеграции сайтов по поиску работы

Современные web-технологии позволяют формировать и посылать подобные запросы с одного сервера на другой. Таким образом, можно имитировать различные действия пользователя в сети Интернет. Естественно, для имитации регистрации и авторизации пользователя необходимо знать его учетные записи (связки логин + пароль) на сайтах.

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

Рис. 4 - Структура веб-приложения «Сервис интеграции»

Если рассматривать сервис интеграции как «черный ящик», то на вход этой системы подается резюме соискателя. Сервис автоматически регистрирует полученное резюме на сайтах по поиску работы, имитируя действия пользователя посредством рассылки соответствующих http-запросов на сайты-хантеры. Если резюме получает отклик работодателя на каком-либо из сайтов по поиску работы, то сервис интеграции оповещает соискателя об этом. Оповещение и является выходным параметром.

Для того чтобы своевременно оповещать соискателей об откликах работодателей, сервис интеграции должен довольно часто проверять наличие новых откликов на сайтах-хантерах для каждого зарегистрированного соискателя. Предполагается, что осуществление этой проверки должно быть реализовано на механизме имитации действий пользователей: в данном случае рассылки соответствующих запросов и извлечения свежих откликов с сайтов по поиску работы для отображения в личном кабинете соискателя на сервисе интеграции и его оповещения. Чтобы справиться с такой нагрузкой, веб-сервер должен обладать достаточно большими вычислительными мощностями.

На рисунке 3 приведена схема размещения сервиса интеграции.

В общем виде веб-приложение «Сервис интеграции» состоит из двух подсистем (рис. 4). Первая подсистема отвечает за взаимодействие с пользователем: регистрация пользователя на сервисе, размещение его резюме и т.д. Вторая подсистема выполняет аналогичные действия с пользователем на сайтах по поиску работы. Взаимодействие этих подсистем обеспечивает «Адаптер взаимодействия подсистем».

Для каждой подсистемы предполагается наличие своей базы данных. Подсистема работы с пользователем взаимодействует с БД «Соискатели», которая хранит информацию, связанную с соискателями (например, их резюме, отклики на сайтах-хантерах). Для другой подсистемы предусматривается наличие БД «Сайты-хантеры», в которой должны содержаться необходимые данные для формирования запросов к каждому сайту-хантеру (например, URL). Взаимодействие подсистем с базами данных обеспечивается наличием отдельно выделенных компонентов.

Безусловно, решение, основанное на имитации действий пользователя, не лишено недостатков. Одним из них является использование уникального алгоритма имитации действий пользователей для каждого сайта по поиску работы. Следствием этого выступает неудобство дальнейшего сопровождения сервиса интеграции, ведь любой из сайтов-хантеров внезапно может поменять свой адрес в Интернете или произвести модернизацию своего сайта.

Вторым недостатком можно отметить использование капчи (captcha) на некоторых сайтах по поиску работы. Captcha применяется для того, чтобы предотвратить множественные автоматические регистрации и отправления сообщений программами-роботами [4]. В этом случае сервис интеграции не сможет полностью сымитировать действия пользователей: им придется самостоятельно вводить капчу.

Выводы

На сегодняшний день существует очень много сайтов по поиску работы. Несомненно, каждый из них в отдельности стремиться поскорее помочь соискателям найти подходящее место работы, а работодателям подобрать сотрудников, удовлетворяющих их требованиям. Но если рассматривать все сайты-хантеры в совокупности, то просматривается обратный эффект для соискателей: множество сайтов по поиску работы замедляет поиск работы соискателями, а также сужает круг предлагаемых им вакансий в том плане, что не все из этих вакансий будут просмотрены.

В этой статье было предложено решение данной проблемы. Оно заключается в создании веб-приложения «Сервис интеграции сайтов по поиску работы», основной целью

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

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

В завершении следует отметить, что вряд ли найдется универсальное решение технической реализации сервиса интеграции. Каждый сайт-хантер обладает своей оригинальной структурой, и, поэтому, следует рассматривать несколько возможных способов взаимодействия сервиса с каждым из сайтов по поиску работы и выбирать наиболее оптимальный.

Литература

1. Сухов К. HTML5 - путеводитель по технологии. - М.: ДМК Пресс, 2014. - 352 с.: ил.

2. Википедия. API // Википедия. 2016. URL: http://ru.wikipedia.org/wiki/API (дата обращения: 28.04.2016).

3. GITCODE. Глоссарий GITCODE PUBLIC API // GITCODE. 2016. URL: https://gitcode.ru/developers/docs/guide/glossary (дата обращения: 29.04.2016).

4. «Тифлокомп». Webvisum: плагин к Mozilla Firefox, распознающий CAPTCHA // «Тифлокомп». 2016. URL: http://www.tiflocomp.ru/docs/firefox_anticaptcha.php (дата обращения: 30.04.16).

i Надоели баннеры? Вы всегда можете отключить рекламу.