Время прочтения: 4 мин.

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

В качестве источников отзывов я использовала сайт irecommend.ru. Он имеет довольно простую структуру. Посмотрим на него:

Для примера возьмем отзывы на смартфон Apple iPhone 11.  На сайте 6 страниц отзывов на данный товар.

Соберем эту информацию с помощью Power BI. Для этого на вкладке «Главная» выбираем «Получить данные», а затем «Интернет».

Соглашаемся с анонимным доступом к веб-содержимому и попадаем в окно навигатора. Power BI предлагает таблицы, которые были распознаны на сайте. Одна из этих таблиц – как раз то, что нужно. (в данном случае это таблица 7 – видим в ней текст отзыва)

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

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

Данная таблица нуждается лишь в небольшой обработке: 1) необходимо переименовать столбцы; 2) оставить число фото в пятом столбце.

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

Выбираем «Преобразование данных» на вкладке «Главное» и используем функцию «Переименовать» на вкладке «Преобразовать» Power Query.

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

Получаем вполне пригодную для дальнейшего анализа таблицу.

Однако нам необходимо собрать отзывы со всех страниц сайта. Это тоже можно сделать из Power Query. Для этого переходим в «Расширенный редактор» на вкладке «Главное»

В расширенном редакторе необходимо объявить переменную на языке M, которая будет обозначать номер страницы.

Также исправляем источник, заменяем в нем номер страницы на новую переменную:

Было: Источник = Web.BrowserContents(«https://irecommend.ru/content/smartfon-apple-iphone-11-0?page=1»)

Корректировка:

Источник = Web.BrowserContents("https://irecommend.ru/content/smartfon-apple-iphone-11-0?page=&Number.ToText(page)")

Появляется функция. Теперь можно указывать число и получать результат для конкретной страницы.

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

Затем применяем к каждому из этих чисел нашу функцию с помощью функции «Настраиваемый столбец» на вкладке «Добавление столбца».

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

В итоге получаем готовую таблицу с обработанными данными.

Остается только вернуться в Desctop и можно использовать таблицу для любых визуализаций Power BI обычным способом. Например так:

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