Este ejemplo te puede dar una idea.
Lo que te puede suceder es que existen sitios que no funciona file_get_contents para levantar la pagina y deberás usar curl.
Código PHP:
Ver original<?php
$dom = new DOMDocument();
$dom ->loadHTML($htmlContent);
// Cargo los errores si existen
// limpio el buffer de errores.
// Los errores quedan cargados en la variable errores como array
$xpath = new DOMXPath($dom);
$nodos = $xpath->query('//ul/li');
echo "Se encontró {$nodos->length} en el sitio<br>";
foreach ($nodos as $nodo) {
$elemento = $nodo->nodeValue;
echo "$elemento <br>";
}
En el manual de php existen mas ejemplos sobre esto.
Saludos