Web scrapping

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

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos