//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); } } }