
Yo uso Screaming Frog para hacer rastreos (crawls en inglés) pero cuando nos topamos con un sitio muy grande, de 500.000 páginas o más, se vuelve una tarea terrible. Para abrir los ficheros, hacer una consulta o sacar un informe puede tardar horas o quedarse colgado. Esta limitación se debe a que estos programas trabajan directamente con la memoria RAM, y cuando se trata de un sitio web muy grande no solemos tener tanta RAM como para majearlo.
Antes de ponernos manos a la obra quiero comentarte que también tenemos la opción de utilizar herramientas de pago como por ejemplo DeepCrawl.
Lo que vamos a hacer es crearnos una aplicación PHP usando la librería PHPCrawl, y esta aplicación irá guardando todo lo que va rastreando en una base de datos. En lugar de empezar desde cero vamos a coger un ejemplo que ya está hecho y puede descargar desde aquí.
Preparamos la base de datos
Primero creamos la base de datos, ya sea con phpMyAdmin o con la herramienta que prefieras. Sobre esa base de datos importaremos el archivo table-crawler.sql que viene en el fichero que acabas de descargar. Con esto ya tenemos la Base de datos lista, ahora vamos a preparar la aplicación.
Editamos el fichero crawler-example.php
En la línea 2 cambiamos notprovided.eu por el nombre del dominio que queremos rastrear.
En la línea 3 mysql_connect(«localhost», «database», «password») or die(mysql_error()); cambiamos database por el nombre de usuario (viene mal en el ejemplo, no es la base de datos sino el usuario lo que hay que poner ahí)
En la línea 4 mysql_select_db(«table») or die(mysql_error()); cambiamos table por el nombre de la base de datos.
La línea 68 $crawler->setFollowMode(1); indica que se va a hacer el rastreo en el modo 1, que significa que se van rastrear todos los subdominios, si queremos que se rastree sólo el subdominio indicado en la línea 2 lo ponemos en modo 2: $crawler->setFollowMode(2);
Ya está todo listo, sólo tenemos que ejecutar el fichero crawler-example.php y se irán metiendo los resultados en la base de datos que hemos creado. Para consultarlos podemos usar phpMyAdmin o realizar consultas directamente.
Si te ha gustado el post compártelo en tus redes, te lo agradeceré enormemente!
Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.