PHP HTML DOM Parser

Возможный дубликат:
Как разбирать и обрабатывать HTML с помощью PHP?

Я изучаю парсеры HTML DOM для PHP. Я нашел PHP Simple HTML DOM Parser. Есть ли другие, на которые мне следует обратить внимание?


person StackOverflowNewbie    schedule 02.12.2010    source источник
comment
Как вы думаете, зачем вам что-то еще? Если он работает, используйте его. :)   -  person casablanca    schedule 02.12.2010
comment
Это по-прежнему отличный ресурс Гордон, +1   -  person RobertPitt    schedule 11.02.2011


Ответы (3)


да. Простой html-документ - это нормально, но на порядок медленнее, чем встроенный синтаксический анализатор dom.

$dom = new DOMDocument();
@$dom->loadHTML($html);
$x = new DOMXPath($dom); 

foreach($x->query("//a") as $node) 
{
    $data['dom']['href'][] = $node->getAttribute("href");
} 

Используйте это.

person Byron Whitlock    schedule 02.12.2010
comment
есть ли способ заставить query возвращать узел вместо списка узлов? Например, на странице есть только один тег h1. Я хочу получить его nodeValue, но не думаю, что мне нужно перебирать nodelist. - person StackOverflowNewbie; 02.12.2010
comment
Вы должны иметь возможность использовать $node[0] для получения первого узла в списке. Или просто перебрать и сломать. Я просто повторяю и ломаю. Если запрос ничего не возвращает, я не получаю никаких ошибок. - person Byron Whitlock; 02.12.2010

Вы можете посмотреть на встроенный DOM

http://php.net/dom

person KingCrunch    schedule 02.12.2010

Недавно я также нашел ganon, но в целом PHP Simple HTML DOM Parser - лучший!

person Slav    schedule 22.12.2011
comment
PHP Simple HTML DOM Parser задыхается, если вы пытаетесь сканировать несколько страниц, например уровень 1: получить 300 ссылок (например, из списка) level2: перейти к каждой ссылке и получить страницу с подробностями и выбрать элементы. Все, что вы получаете, - это набор ошибок сброса (в зависимости от типа сервера) - плюс это очень медленно - person Jeffz; 07.09.2012
comment
ganon загружает только 2 элемента из моих желаний, и когда я пытаюсь запустить простой парсер html dom, мой компьютер зависает !!! - person Yuseferi; 28.12.2014
comment
Я обнаружил, что ganon намного медленнее, чем PHP, встроенный в DOM, а также Simple HTML DOM Parser. Более того, Simple HTML DOM, похоже, страдает от сильной утечки памяти, и вам приходится вручную очищать или повторно использовать выделенные объекты. - person jahackbeth; 19.02.2015