Evilnapsis

Programming, Hacking and More

Examples

Parsear documentos HTML con Simple HTML DOM PHP

Parsear es la obtencion de datos de una fuente digital para convertirlo en informacion importante.

El dia de hoy vamos a parsear, leer, analizar archivos HTML o paginas web usando una libreria en PHP.

La libreria Simple HTML DOM es una libreria ligera con la cual se pueden parsear archivos HTML o paginas web de manera facil y rapido.

Podemos encontrar la libreria y su documentacion en la pagina https://simplehtmldom.sourceforge.io/ , descargamos la libreria y obtenemos el archivo simple_html_dom.php

Analizando por Etiquetas

El uso básico de Simple HTML Dom permite analizar por etiquetas, y nos traerá todos los resultados de la búsqueda.

include "simple_html_dom.php";

$myhtml = file_get_html("http://evilnapsis.com/");

foreach($myhtml->find("h2") as $content){
	echo $content->innertext;
	echo "<br>";
}

Primero incluimos la libreria simple html dom, despues leemos la URL, asi podemos usar $myhtml para buscar los resultados.

$myhtml->find(“h2”) donde h2 es la etiqueta que buscaremos, podemos cambiar esta etiqueta por cualquier otra.

Parsear Imágenes

Para obtener las imágenes, solo basta buscar por la etiqueta “img” y leer el atributo src.

include "simple_html_dom.php";

$myhtml = file_get_html("http://evilnapsis.com/");

foreach($myhtml->find("img") as $img){
	echo $img->src."<br>";
	echo "<img src='".$img->src."'>";
	echo "<br>";
}

Parsear todos los Enlaces

Para obtener los enlaces buscamos por etiqueta “a” y leer el atributo “href”

include "simple_html_dom.php";

$myhtml = file_get_html("http://evilnapsis.com/");

foreach($myhtml->find("a") as $img){
	echo $img->href."<br>";
	echo "<br>";
}

Búsqueda anidada

Cada elemento de una búsqueda funciona como un objeto que también tiene los métodos y parámetros del objeto principal.

Por esto todos los resultados de una busqueda tambien se pueden usan para buscar elementos dentro de ellos y asi sucesivamente.

include "simple_html_dom.php";

$myhtml = file_get_html("prueba.html");

foreach($myhtml->find("div") as $content){

	foreach($content->find("p") as $px){
		echo $px->innertext;
	echo "<br>";
	}
	echo "<br>";
}

En este caso voy a buscar todos los div de el documento y despues busco e imprimo los párrafos que encuentro en cada div.

Mucho mas

La librería Simple Html Dom tiene ofrece gran libertad al momento de parsear documentos Html, es posible buscar por clases, por ids y casi cualquier parámetro de los selectores CSS básicos.

Agustin Ramos

Desarrollador de Software

One thought on “Parsear documentos HTML con Simple HTML DOM PHP

Leave a Reply