Синтаксический анализ

Синтаксический анализИтак, получив исходный код страницы, можно начинать её  «пилить», отделяя ту информацию, ради которой парсится сайт.

Вполне резонен вопрос – какой инструмент выбрать для обработки? Лобзик, ножовку, болгарку, циркулярку, бензопилу, а может, просто так отломать?

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

Неприятной реальностью в использовании регулярок является полукорректный html-код большинства сайтов. Хотя терпеливые браузеры в большинстве случаев отображают всё верно, немногие веб-ресурсы похвастают 100% соответствием стандартам W3C.

В принципе, можно самостоятельно построить дерево документа и затем работать с ним с помощью технологии Document Object Model. После этого некорректный html-код вылавливать будет проще. Однако, времени и сил на написание собственного интерпретатора страниц уйдёт немало.

Со временем появились замечательные бесплатные решения, призванных облегчить жизнь кодерам. Написание парсеров упростилось благодаря специализированным библиотекам для парсинга. Больше нет надобности в изощрённых текстовых масках – всё уже давно сделано за Вас.

См. также: Парсинг: Что? Зачем? Как?, Что понадобится?, Этапы парсинга, Импорт/экспорт контента, Экспорт данных