Научная статья на тему 'ПРЕИМУЩЕСТВА АВТОМАТИЧЕСКОГО СБОРА ДАННЫХ В СЕТИ ИНТЕРНЕТ НАД РУЧНЫМ СБОРОМ ДАННЫХ'

ПРЕИМУЩЕСТВА АВТОМАТИЧЕСКОГО СБОРА ДАННЫХ В СЕТИ ИНТЕРНЕТ НАД РУЧНЫМ СБОРОМ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
567
73
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-ПАРСИНГ / АВТОМАТИЗАЦИЯ / АВТОМАТИЧЕСКАЯ РЕГИСТРАЦИЯ / ВЕБ-ПОРТАЛ / ПАРСИНГ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Меньшиков Ярослав Сергеевич

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Меньшиков Ярослав Сергеевич

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

ADVANTAGES OF AUTOMATIC DATA COLLECTION IN THE INTERNET OVER MANUAL DATA COLLECTION

In connection with the development of IT technologies, it becomes possible to automate any IT processes. The speed of access to the required information directly affects the efficiency of IT processes and the business as a whole. The information in this article is as up-to-date as possible. The goal is to show the ways of automatic data collection and the main difficulties along the way, to prove the advantage of automatic data collection over manual data collection.

Текст научной работы на тему «ПРЕИМУЩЕСТВА АВТОМАТИЧЕСКОГО СБОРА ДАННЫХ В СЕТИ ИНТЕРНЕТ НАД РУЧНЫМ СБОРОМ ДАННЫХ»

№ 10 (103)

A UNÍ

/m те;

UNIVERSUM:

технические науки

октябрь, 2022 г.

ПРЕИМУЩЕСТВА АВТОМАТИЧЕСКОГО СБОРА ДАННЫХ В СЕТИ ИНТЕРНЕТ

НАД РУЧНЫМ СБОРОМ ДАННЫХ

Меньшиков Ярослав Сергеевич

ведущий разработчик, ООО «ГисАвто», РФ, г. Новосибирск E-mail: menshikov.yaroslav@gmail.com

ADVANTAGES OF AUTOMATIC DATA COLLECTION IN THE INTERNET OVER MANUAL DATA COLLECTION

Yaroslav Menshikov

Lead developer, GisAvto LLC, Russia, Novosibirsk

АННОТАЦИЯ

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

ABSTRACT

In connection with the development of IT technologies, it becomes possible to automate any IT processes. The speed of access to the required information directly affects the efficiency of IT processes and the business as a whole. The information in this article is as up-to-date as possible. The goal is to show the ways of automatic data collection and the main difficulties along the way, to prove the advantage of automatic data collection over manual data collection.

Ключевые слова: веб-парсинг, автоматизация, автоматическая регистрация, веб-портал, парсинг.

Keywords: web parsing, automation, automatic registration, web portal, web scraping

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

Парсинг (англ. parsing) — автоматизированный сбор и систематизация информации из открытых источников с помощью программного обеспечения. Альтернативное название этого процесса — веб-скрейпинг (web scraping). ПО, которое собирает и систематизирует информацию, называется парсером.

За последнее десятилетие данные стали ресурсом для развития бизнеса, а сеть Интернет — их основным источником благодаря уже более чем пяти миллиардам пользователей [1]. Анализ данных Всемирной паутины помогает компаниям выявлять скрытые закономерности, позволяющие им добиваться выполнения своих целей.

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

будем называть это абстрактным термином Программное обеспечение (далее, ПО). В этой статье доказывается преимущество ПО над ручным сбором данных в сети Интернет и рассмотрены различные глобальные подходы для работы данного ПО.

Процесс парсинга данных состоит из трех основных этапов:

1. Автоматическая регистрация на веб-портале.

2. Парсинг необходимых данных.

3. Сохранение полученных данных в базе данных.

Давайте разберемся, что такое «Автоматическая регистрация»?

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

Библиографическое описание: Меньшиков Я.С. ПРЕИМУЩЕСТВА АВТОМАТИЧЕСКОГО СБОРА ДАННЫХ В СЕТИ ИНТЕРНЕТ НАД РУЧНЫМ СБОРОМ ДАННЫХ // Universum: технические науки : электрон. научн. журн. 2022. 10(103). URL: https://7universum. com/ru/tech/archive/item/14383

№ 10 (103)

A UNI

/т те;

UNIVERSUM:

технические науки

октябрь, 2022 г.

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

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

Давайте разберем для чего нужна автоматическая регистрация, где она может быть применена? Приведу несколько примеров:

1. Вы разрабатываете некоторое ПО, в котором Вам нужно периодически обращаться к свежим данным курсов валют.

Согласитесь, для разработки ПО для бизнеса необходимо чтобы эти данные были получены автоматически. Чтобы иметь данные о курсах валют необходимо получить данные многих банков и эти данные могут изменяться очень быстро. Поэтому о получении таких данных вручную не может идти речи, так как это сильно долго (а значит дорого), занимает много человеческих ресурсов и приводит к созданию ошибок (люди часто совершают ошибки, не так ли?).

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

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

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

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

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

Пример из жизни: один человек имеет некоторый бизнес, веб-портал со списком развлечений города. Основная прибыль идет с получения просмотров рекламы пользователями. В некоторый момент он нанял работника чтобы тот вручную открывал городские порталы кинотеатров и заносил список фильмов на свой веб-сайт. Тем самым он пытался сделать некоторый агрегатор кинофильмов города. Он не знал, что существуют другие способы кроме как делать эту нудную работу вручную. В некоторый момент его работник заболел, и он временно взял другого человека на эту должность. Новый человек умел делать скрипты для веб-браузера. За один вечер скрипты были созданы для каждого веб-портала кинотеатров. Оставалось только авторизоваться на веб-портале (обычно веб-браузер запоминает авторизацию и потому не требуется каждый день вводить логин и пароль) и нажать одну кнопку чтобы необходимые данные были загружены. Если раньше этот процесс занимал 2-3 часа в день, то теперь не более 5 минут.

Для оценки преимуществ и недостатков ручного и автоматического вариантов составим таблицу 1:

Таблица 1.

Преимущества и недостатки ручного и автоматического способов парсинга данных

Ручной способ Автоматический способ

Временные затраты +++++ +

Постоянные расходы +++++ Зарплата сотрудникам ++ Вычислительные мощности для запуска ПО (небольшие)

Переменные расходы + Практически отсутствуют +++++ Зарплата программисту для поддержки ПО

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

данных) если ваше решение не будет уметь останавливаться на данном этапе и информировать о возникшей проблеме.

Исходя из таблицы 1 видно, что ручной способ занимает много временных и денежных затрат на оплату заработной платы. Автоматический способ, несмотря на его быструю работу и отсутствие постоянных затрат, требует написание ПО и затраты на его поддержку для оплаты работы программиста. Это значит, что в условиях малого бизнеса и быстро-изменяющихся веб-порталов оплата программиста

№ 10 (103)

A UNI

/m te;

UNIVERSUM:

технические науки

октябрь, 2022 г.

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

В настоящее время существует два основных типа парсинга данных:

1. Классический, выполнение Get/Post запросов к веб-порталу.

2. Автоматизация веб-браузера.

Рассмотрим классический тип парсинга данных.

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

Большинство современных языков програм -мирования ( C# [2], Java [3], Python [4]) имеют инструменты для отправки HTTP-пакетов и остается только узнать какие данные записать в отправляемый HTTP-пакет. Для этого существует множество инструментов таких как снифферы HTTP-пакетов (например: Fiddler [5], Charles Proxy [6]). Суть работы со сниф-фером - это запустить сниффер, в веб-браузере нажать кнопку авторизации, проверить в сниффере отправленный HTTP-пакет.

Основными проблемами классического парсинга данных являются:

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

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

Рассмотрим вариант автоматизации веб-браузера на примере фреймворк Selenium [7]. Основное преимущество данного подхода - это не создавать сложные запросы классического подхода на HTTP-уровне, а использовать установленный на персональном компьютере веб-браузер. Достаточно только запрограммировать последовательность эмулируемых действий пользователя таких как: ввести в текстовое поле строку, нажать кнопку клавиатуры, нажать кнопку манипулятора мышь, переключить активную вкладку веб-браузера, управлять данными Cookie для выбранного домена.

Для оценки преимуществ и недостатков классического подхода и подхода автоматизации составим таблицу 2:

Таблица 2.

Преимущества и недостатки классического подхода и подхода автоматизации веб-браузера

Классический подход Автоматизация веб-браузера

Временные затраты От ++++ до +++++ ++

Сложность разработки От +++ до +++++ ++

Опасность блокировки аккаунта +++ +

Скорость работы ПО +++++ ++

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

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

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

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

скорость разработки ПО. Но необходимо мириться с низкой скоростью работы данного ПО.

Заключение

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

№ 10 (103)

UNIVERSUM:

технические науки

октябрь, 2022 г.

Список литературы:

1. DIGITAL 2022: JULY GLOBAL STATSHOT REPORT. Режим доступа: URL: https://datareportal.com/re-ports/digital-2022-july-global-statshot (дата обращения: 20.09.2022).

2. Классы WebRequest и WebResponse. Режим доступа: URL: https://metanit.com/sharp/net/2.2.php (дата обращения: 21.09.2022).

3. Class HttpsURLConnection. Режим доступа: URL: https://docs.oracle.com/javase/1.5.0/docs/api/ja-vax/net/ssl/HttpsURLConnection.html (дата обращения: 21.09.2022).

4. httplib — HTTP protocol client. Режим доступа: URL: https://docs.python.org/2.6/library/httplib.html (дата обращения: 21.09.2022).

5. Fiddler Classic. Режим доступа: URL: https://www.telerik.com/fiddler/fiddler-classic (дата обращения: 21.09.2022).

6. Charles. Режим доступа: URL: https://www.charlesproxy.com/ (дата обращения: 21.09.2022).

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

7. OpenQA.Selenium Namespace. Режим доступа: URL: https://www.selenium.dev/selenium/docs/api/dotnet/# (дата обращения: 22.09.2022).

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