Duplicar posible:
How to parse and process HTML with PHP?PHP HTML DOM analizador
Estoy buscando en analizadores DOM HTML para PHP. He encontrado PHP Simple HTML DOM Parser. ¿Hay otros que debería estar mirando?
Duplicar posible:
How to parse and process HTML with PHP?PHP HTML DOM analizador
Estoy buscando en analizadores DOM HTML para PHP. He encontrado PHP Simple HTML DOM Parser. ¿Hay otros que debería estar mirando?
Sí. El documento html simple está bien, pero es un pedido de magnitude slower que el analizador dom incorporado.
$dom = new DOMDocument();
@$dom->loadHTML($html);
$x = new DOMXPath($dom);
foreach($x->query("//a") as $node)
{
$data['dom']['href'][] = $node->getAttribute("href");
}
Utilícelo.
¿hay alguna manera de hacer que 'query' devuelva un nodo en lugar de una lista de nodos? Por ejemplo, una página tiene solo una etiqueta h1. Quiero obtenerlo es nodeValue, pero no creo que deba iterar a través de una lista de nodos. – StackOverflowNewbie
Debería poder usar '$ node [0]' para obtener el primer nodo en la lista. O simplemente iterar y romper. Solo iterar y romper. Si la consulta no devuelve nada, no obtendré ningún error de esa manera. –
Usted puede mirar en el DOM incorporado
Recientemente también encontré ganon, pero en general PHP Simple HTML DOM Parser es el mejor!
PHP El analizador de DOM HTML simple se bloquea, si intenta rastrear varias páginas, p. nivel 1: obtenga 300 enlaces (por ejemplo, de un listado) level2: vaya a cada enlace y recupere la página con detalles y elementos de búsqueda. Todo lo que obtienes es una colección de errores de reinicio (dependiendo del tipo de servidor) - además es muy lento – Jeffz
ganon solo carga 2 elementos de mis deseos y cuando intento ejecutar el analizador html dom mi computadora se cuelga !!! – zhilevan
Descubrí que el ganon es mucho más lento que el DOM integrado en PHP, así como el analizador de DOM simple HTML. Además, el HTML simple DOM parece sufrir una gran pérdida de memoria y debe limpiar o reutilizar manualmente los objetos asignados. – jahackbeth
¿Por qué crees que necesitas algo más? Si hace el trabajo, úselo. :) – casablanca
Todavía es un gran recurso Gordon, +1 – RobertPitt