Para saber qué están haciendo tus competidores, necesitas datos limpios. Olvídate de depender siempre de herramientas de terceros si necesitas extraer información a medida. Hoy te explico cómo scrapear serps google construyendo tu propio rank tracker casero mediante expresiones regulares (regex).
En mi experiencia con clientes, lo que mejor me ha funcionado para extraer las URLs posicionadas es emular exactamente lo que hace un software profesional. Un rank tracker hace una petición al buscador, descarga el código fuente y busca patrones específicos para aislar cada bloque de resultados orgánicos. Eso mismo vamos a replicar nosotros.
Análisis del código fuente en Google
Abre el navegador, realiza una búsqueda cualquiera y dale a inspeccionar elemento. Si te fijas bien en el HTML, verás que cada bloque de resultado orgánico está envuelto en una capa o contenedor con una clase específica. Durante mis pruebas he visto que todos los bloques suelen responder a un patrón común, agrupando la información visual que recibe el usuario.
Una vez localizas ese bloque de código, el siguiente paso es encontrar el enlace dentro de la etiqueta de hipervínculo. Ahí es donde reside el tesoro. Verás un atributo href seguido de la dirección web. Nuestro objetivo es aislar exclusivamente esa cadena de texto ignorando el resto del ruido.
Creación del patrón Regex paso a paso
Para extraer la información, copiamos el fragmento de código HTML de un resultado y lo pegamos en un validador como Regex101. A partir de ahí, empezamos a escapar los caracteres especiales y construimos nuestro grupo de captura.
El truco está en decirle a la expresión regular que seleccione todo lo que hay dentro de las comillas del enlace. Lo hacemos de la siguiente forma:
- Buscamos el inicio literal del atributo del enlace escapando lo necesario.
- Usamos un acento circunflejo para negar las comillas, indicando que queremos cualquier carácter excepto unas comillas de cierre.
- Añadimos un cuantificador (el símbolo más) para que esa captura de texto se repita una o más veces.
- Cerramos la expresión buscando las comillas finales y las etiquetas HTML de cierre correspondientes.
De esta forma tan directa conseguimos que el grupo de captura nos devuelva únicamente la URL limpia. Si pegas el código fuente completo de la primera página de resultados y le aplicas este patrón, obtendrás una lista perfecta con las posiciones orgánicas ordenadas. Puedes complicarlo añadiendo subgrupos de captura para extraer también los títulos o las descripciones, pero te recomiendo empezar siempre por aislar los enlaces.
Preguntas frecuentes
¿Qué es exactamente un rank tracker SEO?
Un rank tracker es un software que calcula la posición de un sitio web en los resultados de un motor de búsqueda. Funciona analizando el código HTML de las SERPs para extraer los bloques orgánicos.
¿Por qué usar expresiones regulares para extraer datos de Google?
Las expresiones regulares te permiten buscar patrones de texto exactos dentro de miles de líneas de código. Son la forma más rápida y precisa de aislar únicamente las URLs o etiquetas que te interesan.
¿Se pueden extraer más datos además de las URLs posicionadas?
Sí. Modificando los grupos de captura en tu patrón regex puedes obtener también metatítulos, descripciones y fragmentos enriquecidos de cada resultado orgánico.