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.
Gracias por esta aportación! Bien usada es fantàstica