Синтаксический анализ
Итак, получив исходный код страницы, можно начинать её «пилить», отделяя ту информацию, ради которой парсится сайт.
Вполне резонен вопрос – какой инструмент выбрать для обработки? Лобзик, ножовку, болгарку, циркулярку, бензопилу, а может, просто так отломать?
В былые времена у программистов не было особого выбора кроме как прибегать к анализу страницы с помощью регулярных выражений. Это, безусловно, самое то, с точки зрения повышения квалификации, вплоть до полного просветления. Однако, ввиду определённой сложности темы regexp-ов, извилистый путь сквозь тернии к звёздам преодолевать настроены далеко не все :)
Неприятной реальностью в использовании регулярок является полукорректный html-код большинства сайтов. Хотя терпеливые браузеры в большинстве случаев отображают всё верно, немногие веб-ресурсы похвастают 100% соответствием стандартам W3C.
В принципе, можно самостоятельно построить дерево документа и затем работать с ним с помощью технологии Document Object Model. После этого некорректный html-код вылавливать будет проще. Однако, времени и сил на написание собственного интерпретатора страниц уйдёт немало.
Со временем появились замечательные бесплатные решения, призванных облегчить жизнь кодерам. Написание парсеров упростилось благодаря специализированным библиотекам для парсинга. Больше нет надобности в изощрённых текстовых масках – всё уже давно сделано за Вас.
См. также: