******** Введение ******** Что такое парсинг ----------------- **Парсинг** - это извлечение необходимых данных и сохранения их в удобном виде для последующего использования - поиска и анализа. **XML** - это формат хранения и представления данных, который очень широко используется в самых различных областях: * любые сайты Интернет (в том числе и этот) показывают Вам информацию, сохраненную в формате xml * документы и электронные таблицы, с которыми Вы работаете на компьютере, электронные книги которые Вы читаете хранят данные в формате xml, * архивные статистическое данные госзакупок, биржевых котировок, научных исследований активно используют xml для хранения Ознакомиться со списком примеров полезных и интересных данных, хранящихся в формате xml можно `здесь `_. Зачем нужен парсинг данных? --------------------------- Данные в формате xml удобно хранить, но не удобно регулярно использовать, т.е. регулярно выполнять поиск по коллекции данных, их преобразование и анализ. Для этого, необходимые данные извлекаются из xml формата (парсятся) и сохраняются в более удобной форме, например, в базе данных. Алгоритм парсинга источников xml -------------------------------- Многообразие сфер применения и востребованность формата xml обуславливают не прекращающуюся разработку новых и улучшение существующих программ-парсеров - коммерческих и бесплатных, универсальных и созданных под конкретный тип данных. Независимо от того, какую программу-парсер Вы используете общий алгоритм парсинга формата xml одинаков: 1. анализируется структура источника xml в котором находятся нужные данные: определяются пути доступа к данным - в каких узлах или атрибутах они хранятся, и их структура - данные являются неделимыми (атомарными) или составными, к какому типу они принадлежат- строковому, логическому, числовому,... Этот этап выполняется программой-парсером в полуавтоматическом режиме. От набора инструментов, предлагаемых программой-парсером и удобства работы с ними зависят время, которое Вы затратите на анализ структуры xml и качество извлекаемых программой-парсером данных - их полноту и точность. 2. непосредственно извлечение данных и их сохранение в формате, удобном для последующего поиска, трансформации и анализа.Возможно, таким форматом будет база данных, а возможно - таблица Exel или что нибудь еще. Требования к программе-парсеру ------------------------------ Практика работы с источниками данных xml помогла сформировать ряд практических требований которым должна удовлетворять программа-парсер 1. программа должна уметь извлекать данные из различных типов источников xml - как архивных файлов на компьютере, так и расположенных в сети: страниц сайтов, новостных лент, результатов API запросов и т.д.. 2. программа должна уметь извлекать данные из файлов большого размера. Многие полезные наборы данных хранятся в файлах размером несколько гигабайт. 3. программа должна иметь удобные инструменты для анализа xml источников с неизвестной структурой. Эти инструменты должны предоставлять информацию как в графическом так и консольном вариантах. 4. Настройка программы для извлечения данных должна быть максимально простой и не требовать от пользователя углубленных знаний структуры xml формата. Т.е., для того, чтобы извлечь данные, Вам не нужно, например, знать, что такое xpath и как его применять. 5. программа должна работать на компьютерах с различными операционными системами (windiws, \*nix), быть нетребовательной к ресурсам системы (работать даже на маломощных компьютерах) и поддерживать как локальное так и удаленное управление 6. Программа должна предоставлять инструменты для сохранения извлеченных данных во все востребованные форматы. К сожалению к моменту написания документации, программы-парсера, удовлетворяющей перечисленным требованиям мы не нашли, поэтому написали свою. Итак, представляем инструмент парсинга xml и html - `xmlPyParser `_