УДК 004.622

ТЕХНОЛОГИИ АНАЛИЗА И РАЗБОРА КОНТЕНТА

Иванова Наталья Александровна1, Чеботарь Алексей Игоревич2
1Брянский государственный университет имени академика И.Г. Петровского, кандидат технических наук, доцент кафедры информатики и прикладной математики
2Брянский государственный университет имени академика И.Г. Петровского, студент

Аннотация
Статья посвящена технологиям анализа и разбора контента.

Ключевые слова: контент, технология


ANALYSIS TECHNOLOGIES AND CONTENT PARSING

Ivanova Natalia Aleksandrovna1, Chebotar Alexey Igorevich2
1Bryansk State University by akademiсian I.G.Petrovskij, candidate of Technical Sciences, associate professor of computer sciences and applied mathematics
2Bryansk State University by akademiсian I.G.Petrovskij, sudent

Abstract
The article is devoted to analysis technologies and content parsing.

Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Иванова Н.А., Чеботарь А.И. Технологии анализа и разбора контента // Современные научные исследования и инновации. 2015. № 12 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2015/12/61247 (дата обращения: 02.06.2017).

Парсинг (с лат. pars — часть, части речи) — это процесс анализа строки входных символов в компьютерных языках, в соответствии с правилами формальной грамматики [1].

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

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

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

Веб-скрейпинг (с англ. Web scraping – веб-выскабливание, веб-соскоб, веб-извлечение) – это технология анализа и извлечения веб-данных, используемая для технического компьютерного программного обеспечения в целях извлечения информации с веб-сайтов.

Как правило, это программное обеспечение моделирует исследование человеком сети Интернет и реализуется в низкоуровневых протоколах передачи гипертекста (HTTP). Также оно может быть встроено в полноценный веб-браузер, например, такой как Mozilla Firefox.

Метод опирается на взаимодействие с веб-страницами, которые создаются с использованием текстовых языков разметки (HTML и XHTML), и часто содержат множество полезных данных в текстовом виде. Тем не менее, большинство веб-страниц предназначены для человека с точки зрения конечного пользователя, а не для машины. По этой причине были созданы наборы инструментов для скрейпинга веб-контента.

Веб-скрейпер – это интерфейс прикладного программирования (API от англ. application programming interface) для извлечения данных из веб-сайта. Такие компании, как Amazon, AWS и Google бесплатно предоставляют для конечных пользователей инструменты и услуги веб-скрейпинга, а также доступ к общественным данным [2].

Веб-скрейпинг тесно связан с понятиями веб-индексация (web indexing) и веб-сканер (web crawler).

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

Извлеченные с помощью веб-скрейпинга данные могут использоваться для выполнения следующих задач:

-         онлайн сравнение цен;

-         считывание контактной информации;

-         мониторинг данных о погоде;

-         обнаружение изменения веб-сайта;

-         проведение научного исследования;

-         создание веб-коллажей;

-         интеграция веб-данных.

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

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

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

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

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

Человеческий copy-and-paste (с англ. сopy and paste – копировать и вставить). В некоторых случаях, даже самый лучший веб-скрейпер не заменит человеческого подхода к извлечению данных из Интернета простым копированием подходящей информации из найденной. Это также поможет в случае, когда веб-скрейпер не сможет преодолеть барьер защиты веб-сайтов от машинной автоматизации, и данные не будут получены.

Grep текста (название представляет собой акроним английской фразы «search globally for lines matching the regular expression, and print them» — «искать везде строки, соответствующие регулярному выражению, и выводить их»). Этот простой, но мощный подход для извлечения информации из веб-страниц основан на использовании команды Grep Unix или регулярного выражения сопоставления объектов в языках программирования (Perl, Python).

HTTP программирование. Статические и динамические веб-страницы могут быть получены путем размещения http-запросов на удаленном веб-сервере, используя программирование сокетов.

HTML-парсеры. Многие веб-сайты имеют большие коллекции страниц, создаваемых динамически на базе структурированной базы данных. Данные той же категории, как правило, кодируются в схожие страницы по общему сценарию или шаблону. При поиске данных, программа, которая обнаруживает такие шаблоны конкретного источника информации, извлекает его содержимое и переводит его в реляционную форму, называемую оболочкой. Алгоритмы генерации оболочки предположительно соответствуют общему образцу, и их общая схема может быть легко идентифицирована с точки зрения URL[3]. Кроме того, некоторые полуструктурированные языки запросов данных, такие как XQuery и HTQL, могут быть использованы для анализа html-страницы, извлечения или преобразования содержимого страницы.

DOM-парсинг (от англ. Document Object Model — «объектная модель документа»). Технология действует, опираясь на вложения веб-браузера. Например, программы могут получить динамическое содержимое, сгенерированное скриптом на стороне клиента. Эти элементы управления браузера также парсят веб-страницы в DOM-дерево, на основе которого программы могут получить части страницы.

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

Опознание семантической аннотации. Необходимые страницы могут вмещать в себя метаданные или семантические пометки и аннотации, которые могут быть использованы, чтобы найти конкретные фрагменты данных. Если аннотации встроены в страницу, то этот метод можно рассматривать как специальный случай DOM-анализа. Если аннотации, организованны в семантический слой или же хранятся и управляются отдельно от веб-страниц, тогда веб-скрейпер может получить схему и инструкции данных из этого слоя, прежде чем получить веб-контент [4].

Анализаторы веб-страниц, использующие «компьютерное зрение».  Существуют разработки, использующие машинное обучение и компьютерное зрение, которые пытаются идентифицировать и извлекать информацию из веб-страниц, интерпретируя страницы визуально, по аналогии виденья человека [5].

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

Также это способствует уменьшению прироста большого количества неконтролируемых данных. В мире информационных технологий эта проблема называется “Big data” (с англ. big data – большие данные).

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

Automation Anywhere – разработчик роботизированного процесса автоматизации и тестирования программного обеспечения.  Флагманский продукт компании также называют Automation Anywhere. Он позволяет пользователям разрабатывать процессы автоматизации с возможностями централизованной безопасности, управления пользователями, развертывания и резервного копирования, а также корпоративной версии, что позволяет удовлетворять потребности в крупномасштабной автоматизации [6].

Convertigo – поставщик программного обеспечения в Европе и в Соединенных Штатах, представляющий на рынке программного обеспечения проект Convertigo OpenSource. Это промышленная сервис-ориентированная мэшап-платформа имеет открытый исходный код и обеспечивает возможности для кроссплатформенной разработки корпоративных приложений на мобильной платформе, корпоративных гибридных приложений и веб-скрейпинг технологий. Клиентами компании являются Carrefour, Darty, BNP Paribas, Societe Generale, Club Mediterranee и Morgan Stanley Smith Barney [7].

cURL – свободная (распространяемая по лицензии MIT) кроссплатформенная служебная программа командной строки для передачи данных по различным протоколам с синтаксисом URL. Автором и обладателем всех прав является Daniel Stenberg [8]. Библиотека CURL (Client URLs) имеет гибкую настройку и позволяет выполнить практически любой удаленный запрос.

«Панель данных» – сервис для автоматизированного сбора веб-данных от компании DataTool Services. Встраивается в веб-обозреватели (Internet Explorer, Mozilla Firefox и Google Chrome), собирает и преобразует структурированные данные из веб-страниц в формат таблицы, которые могут быть загружены в электронную таблицу или в программы управления базами данных [9].

Diffbot является разработчиком машинного обучения, алгоритмов компьютерного зрения и общественных API, для извлечения данных из веб-страниц. Технология визуально анализирует веб-страницы, выделяет важные элементы и возвращает их в структурированном формате. Клиенты Diffbot: Adobe, AOL, Cisco, eBay, DuckDuckGo, Instapaper, Microsoft, Onswipe и Springpad [10].

Mozilla Firefox, разработчик одноимённого веб-браузера, создал расширение Firebug с открытым исходным кодом, которое имеет широкий спектр возможностей и пользуется большой популярностью среди веб-программистов. Возможности расширения для веб-браузера облегчают отладку живого редактирования и мониторинга любого веб-сайта CSS, HTML, DOM, XHR, и JavaScript [11].

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

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


Библиографический список
  1. Article “parse”. dictionary.reference.com. URL: http://dictionary.reference.com/search?q=parse&x=0&y=0  (дата обращения: 01.12.2007)
  2. Webster, Susanne. “What Is Scraping? The Basics For Everyone”. URL: https://myhelpster.com/what-is-scraping-the-basics-for-everyone/ (дата обращения: 01.12.2007)
  3. Microsoft Research “Joint Optimization of Wrapper Generation and Template Detection”. The 13th International Conference on Knowledge Discovery and Data Mining.
  4. Article “Semantic annotation based web scraping”. URL: http://www.gooseeker.com/en/node/knowledgebase/freeformat(дата обращения: 01.12.2007)
  5. Article “Diffbot Is Using Computer Vision to Reinvent the Semantic Web”. URL: http://www.xconomy.com/san-francisco/2012/07/25/diffbot-is-using-computer-vision-to-reinvent-the-semantic-web/ (дата обращения: 01.12.2007)
  6. Official website – Automation Anywhere URL: https://www.automationanywhere.com/ (дата обращения: 01.12.2007)
  7. Official website – Convertigo URL: http://www.convertigo.com/ (дата обращения: 01.12.2007)
  8. Official website – cURL  URL: http://curl.haxx.se/ (дата обращения: 01.12.2007)
  9. Official website – Data Toolbar URL: http://datatoolbar.com/ (дата обращения: 01.12.2007)
  10. 10.  Official website – Diffbot URL: http://diffbot.com/ (дата обращения: 01.12.2007)
  11. 11.  Official website – Firebug Home Page URL: http://getfirebug.com/whatisfirebug (дата обращения: 01.12.2007)


Все статьи автора «Чеботарь Алексей Игоревич»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

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

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: