> И не надо говорить, что они медленные или не работают.
> да, они медленнее RegExp-ов, но они гораздо универсальней.
Это всё отлично работает до тех пор, пока не нужно пропарсить, например, сто тысяч документов, тогда разница во времени становится весьма ощутимая.
на парсинг всего документа уходит достаточно времени.
при допустим анализе только ссылок DOM примерно в два раза медленее чем регулярки.
но чем больше разномастных типов объектов нам надо выдрать со страницы, тем быстрее DOM работает по сравнению с регулярками.
каждый дополнительный XPath-поиск уже инициированного DOM-дерева работает быстрее чем аналогичного действия регулярка.
после 7 более-менее крупных выборок(ссылки, ID-шники,картинки) DOM уже быстрее чем регулярки. дальше DOM становится значительно лучше
при парсинге более-менее сложных страниц с кучей разномастных данных, которые надо выделить DOM выходит лучше. если же нам надо просто выдрать текст из одного тега, либо найти e-mail-ы, то регулярки лучше
при парсинге 100к страниц выигрыш регулярок на самой выигрышной для них комбинации составит порядка 1-2часов(речь идет о чистом парсинге, без учета скачивания файлов и прочего)
в свою очередь , ИМХО, XPath+DOM гораздо быстрее в отладке и анализе, не говоря уже о сравнительной простоте составления XPath выражений по сравнению с регулярками, и их большей семантической гибкости.
Попробуйте составить десяток регулярок, в которых будет анализироватся вложенность тегов, дополнительные атрибуты, и всякое прочее.вы задолбаетесь сотавлять эту регулярку, а выглядеть она будет просто ужасно, изанимать пару строк кода, и просто будет неизменяема, при таковой необходимсоти