Позвоните нам

+7 (495) 215-53-16
+7 (812) 748-20-96

Наш адрес:

Санкт-Петербург, Заозерная ул. 8

График работы

пн-пт: 08.00 - 23.00, сб-вс: отдыхаем :)
16. 01. 2019   ·   Комментарии: 0   ·

Парсинг: как обеспечить качество полученных данных?

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


В этой статье мы попробуем разобраться в том, что такое контроль качества данных для веб-парсинга и как его обеспечить; вкратце расскажем о некоторых наших инструментах. У нас для вас также есть новость, о которой мы сообщим чуть позже. Забегая вперед, сообщим лишь, что она связана с тем, что совсем скоро мы выложим в открытый доступ исходный код одного из наших самых мощных инструментов для контроля качества. Технологии, используемые в этой программе, позволяют нам проверять качество данных наших клиентов в “промышленном” масштабе и поставлять клиентам данные нужного качества с гарантиями полноты покрытия.

Важность качества данных

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

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

Нужны данные для вашего бизнеса?

Бесплатно регистрируйтесь на нашем портале https://ru.xmldatafeed.com и используйте ежедневные итоги парсинга крупнейших сайтов России (товары и услуги)!

Трудности в работе с качеством данных

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

Требования к парсингу данных

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

“Как погрешность в качестве данных на уровне 5% может отразиться на результатах парсинга или ваших разработчиках?”

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

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

Точность при масштабировании

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

Изменения сайта

Пожалуй, основной причиной плохого покрытия или плохой точности данных являются изменения в исходной структуре самого сайта – цели парсинга. С ростом использования A/B-тестирований, сезонных акций и региональных/мультиязычных вариаций, крупные сайты постоянно вносят небольшие изменения в структуру своих веб-страниц, что может повлиять на работу поисковых роботов. В результате, со временем качество работы (т.е. качество извлеченных данных и полнота покрытия) ухудшается, если, конечно, вы не используете программы для непрерывного мониторинга их работы и поддержания их работоспособности.

Семантика

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

Как структурировать автоматизированную систему контроля качества для парсинга?

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

Охват:
– Охват по элементам – убедиться, что были собраны все доступные элементы (элементами являются отдельные товары, статьи, списки недвижимости и т. д.).
– Охват по полям – убедитесь, что все доступные поля для каждого элемента были собраны.

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

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

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

Мониторинг поисковых роботов

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

Подводя итоги

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