//Url a escrapear
$url="http://trifulcas.com";
//Archivo para guardar
$file="scrap.txt";
$visitadas=[];
$fichero=fopen($file,"w");
scrap($url);
fclose($fichero);
die();
function scrap($url){
global $visitadas,$fichero;
//Guardo la url en visitadas
$visitadas[]=$url;
//Leo el contenido de la web
$web= file_get_contents($url);
//Proceso de datos: en este caso simplemente guardo el texto
fwrite($fichero,$url);
fwrite($fichero,strip_tags($web));
//Busco todos los enlaces de la web
preg_match_all("<a href=[\"\'](.+?)[\"\']>", $web, $matches);
foreach($matches[1] as $enlace){
//Si son enlaces internos y no han sido visitados llamamos a la función recursivamente
if (strpos($enlace,$url)!==false && !in_array($enlace, $visitadas)){
scrap($enlace);
}
}
}