Сбор данных - Data scraping

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

Описание

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

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

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

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

Технические варианты

Соскабливание экрана

Фрагмент экрана и интерфейс очистки экрана (синяя рамка с красной стрелкой) для настройки процесса сбора данных.

Хотя использование физического " немого терминала " IBM 3270s постепенно сокращается, поскольку все больше и больше приложений для мэйнфреймов приобретают веб- интерфейсы, некоторые веб-приложения просто продолжают использовать технику очистки экрана для захвата старых экранов и передачи данных в современные интерфейсы. .

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

В качестве конкретного примера классического скребка экрана рассмотрим гипотетическую систему, унаследованную от 1960-х годов - начало компьютеризованной обработки данных . Компьютер- пользовательский интерфейс той эпохи часто был просто текстовыми немыми терминалами, которые были не чем иным, как виртуальными телетайпами (такие системы все еще используются сегодня по разным причинам). Желание связать такую ​​систему с более современными системами является обычным явлением. Для надежного решения часто требуются вещи, которые больше не доступны, например исходный код , системная документация , API-интерфейсы или программисты, имеющие опыт работы с компьютерной системой 50-летней давности. В таких случаях единственное возможное решение может заключаться в том, чтобы написать скребок экрана, который «притворяется» пользователем на терминале. Средство очистки экрана может подключаться к устаревшей системе через Telnet , имитировать нажатия клавиш, необходимые для навигации по старому пользовательскому интерфейсу, обрабатывать полученный вывод дисплея, извлекать требуемые данные и передавать их современной системе. Сложная и гибкая реализация такого рода, построенная на платформе, обеспечивающей управление и контроль, необходимые для крупного предприятия - например, контроль изменений, безопасность, управление пользователями, защита данных, операционный аудит, балансировка нагрузки, управление очередями и т. Д. - могла бы можно сказать, что это пример программного обеспечения для автоматизации роботизированных процессов , называемого RPA или RPAAI для самоуправляемой RPA 2.0 на основе искусственного интеллекта .

В 1980-х годах такие поставщики финансовых данных, как Reuters , Telerate и Quotron, отображали данные в формате 24 × 80, предназначенном для человеческого читателя. Пользователи этих данных, особенно инвестиционные банки , написали приложения для сбора и преобразования этих символьных данных в числовые данные для включения в расчеты для принятия торговых решений без повторного ввода данных. Распространенным термином для этой практики, особенно в Соединенном Королевстве , было измельчение страниц , поскольку можно было представить, что результаты проходят через измельчитель бумаги . Для внутреннего использования Reuters использовало термин «логический» для этого процесса преобразования, запустив сложную компьютерную систему на VAX / VMS, называемую Logicizer.

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

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

Есть много инструментов, которые можно использовать для очистки экрана.

Парсинг веб-страниц

Веб-страницы создаются с использованием языков разметки на основе текста ( HTML и XHTML ) и часто содержат множество полезных данных в текстовой форме. Однако большинство веб-страниц предназначены для конечных пользователей-людей, а не для простоты автоматизированного использования. Из-за этого были созданы наборы инструментов, которые очищают веб-контент. Веб - скребок является API или инструмент для извлечения данных из веб - сайта. Такие компании , как Amazon AWS и Google предоставляют веб - соскоб инструменты, услуги и общедоступные данные доступны бесплатно для конечных пользователей. Новые формы веб-скрапинга включают прослушивание потоков данных с веб-серверов. Например, JSON обычно используется в качестве транспортного механизма хранения между клиентом и веб-сервером.

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

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

Отчет о добыче

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

Смотрите также

использованная литература

дальнейшее чтение

  • Хеменуэй, Кевин и Калишайн, Тара. Spidering Hacks . Кембридж, Массачусетс: O'Reilly, 2003. ISBN  0-596-00577-6 .