Использование пользовательских инструментов веб-скрапинга

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

Узел Интернет в системе PolyAnalyst скачивает целые HTML-страницы, URL которых были указаны в настройках узла. Он не умеет "ходить" по страницам и извлекать специфическую информацию, которая нужна конкретному пользователю. Для удобства пользователей предусмотрена возможность использования собственных веб-скраперов, написанных на одном из языков программирования для конкретного сайта.

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

  1. создание и сохранение скрапера (скрипта) на любом удобном для пользователя языке программирования;

  2. регистрация скрапера в системе PolyAnalyst Администратором (через Административный клиент;

  3. выбор зарегистрированного веб-скрапера в настройках узла Интернет;

  4. выполнение узла Интернет.

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

Ниже описан простой пример использования веб-скрапера, написанного на языке Python:

Мы создали скрипт Python для извлечения специфической информации (тексты статей и имена авторов) из аналитического блога, опубликованного на сайте компании Мегапьютер. Данный скрипт мы сохранили на сервере, на котором запущен сервер PolyAnalyst, в папке scapers под именем megaputer_blog.

Далее администратор системы PolyAnalyst регистрирует созданный нами веб-скрапер. Процедура регистрации подробно описана в специальном разделе Руководства по работе с Административным клиентом.

После регистрации наш скрапер megaputer_blog будет отображаться в выпадающем списке Скрапер на вкладке Настроки импорта в окне настроек узла Интернет. По умолчанию узел использует базовый встроенный скрапер. Выберем созданный нами скрипт Python.

В поле Список URL укажем адрес аналитического блога, для обработки которого и создан данный веб-скрапер: https://www.megaputer.com/blog/.

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

Веб-скрапер – отличное решение для импорта данных с внутреннего веб-сервиса, включая сайты в Интернете. Однако многие сайты имеют защиту от передачи информации роботам (что также относится и к скраперам); некоторые сервисы предлагают платную подписку и т.д. Во многих случаях такую систему защиты невозможно обойти. К примеру, очевидно, что веб-скрапер не сможет обойти тест CAPTCHA.