Парсинг HTML- 3 подхода - Форум успешных вебмастеров - GoFuckBiz.com - Страница 4
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.4375
BTC/USD68040.3485
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 10.09.2010, 19:41
Start Post: Парсинг HTML- 3 подхода 
  #31
sandy
Сеньор Член
 
Аватар для sandy
 
Регистрация: 11.04.2007
Адрес: The World
Сообщений: 1,125
Бабло: $107796
Отправить сообщение для sandy с помощью ICQ
По умолчанию

Полная версия (с сорцами - в блоге)


Перед нашей братией часто возникает необходимость парсить html-страницы(тк добровольно контент посредством API/RSS/XML-данных отдают далекоо не все Захотелось написать мне эту статью потому, что многие даже не представляют что есть варианты парсинга кроме регулярок

1.Строковые функции
Использование функций strpos / substr (поиск нужного места — извлечение подстроки) . Самый быстрый вариант (в 8 раз быстрее регулярок по результатам некоторых тестов). Из недостатков — громоздкий код, решается написанием библиотечных функций, например, такую (skipped)

2.Регулярные выражения
Самый компактный способ записи желаемого ) И самый любимы у сеошников ) Из минусов — код быстро становится нечитаемым. Как-то раз приходилось сталкиваться с парсером мегапорносайта, в котором было регулярок на два листа ) Пришлось писать заново. По скорости этот вариант между строковыми функциями и Dom-деревом.

3.Разбор DOM-дерева
Самый медленный способ, но самый надежный. Если в предыдущих способах все обычно ломается от появления лишних кавычек или пробела в коде (или вписывания разработчиком нового аттрибута итп), то Dom-дерево будет парсится пока у нужного элемента не сменится name или id. Для всех популярных языков программирования как правило уже есть библиотеки разбора, вам остается лишь дописывать функции типа этой (skipped)
sandy вне форума  
Старый 22.09.2010, 18:58   #32
cosmoweber
Senior Member
 
Аватар для cosmoweber
 
Регистрация: 31.08.2009
Сообщений: 171
Бабло: $37795
Отправить сообщение для cosmoweber с помощью ICQ
По умолчанию

Я под настроение, но чаще строковые))
__________________
Пишу скрипты на PHP.Верстка.А также JS, JQuery. ICQ 592-839-539
cosmoweber вне форума