Custom extraction con Screaming Frog: extracción personalizada con Xpath, CSS y Regex
Simplemente brutal, poder extraer justamente lo que nosotros queramos de cualquier web con el famoso programa de la rana, me parece brutal. Algo tan importante, que lo debes conocer y aplicar en tus proyectos. Si todavía no sabes como extraer información concreta de tu web, aquí te explico la función en Screaming Frog de Custom Extraction (extracción personalizada)
El poder de Custom Extraction
El custom extraction o extracción personalizada es una potente función de Screaming Frog con la que podemos recopilar información usando XPath, CSS Path o Regex (expresiones regulares). Básicamente, con ella podemos extraer el valor, entre otras cosas, de ciertos elementos de nuestra web (o de la competencia, pudiendo incluso scrapearla).
En este sentido, la extracción personalizada de Screaming Frog va un paso más lejos que la búsqueda personalizada, ya que esta última simplemente nos dice si un texto o código aparece en la web o URL.
Quizá te frene un poco el hecho de que tengas que usar XPath, CSS Path o Regex para obtener esta información, pero lo cierto es que no tienes que ser un experto ni mucho menos. Primero porque te voy a dejar un par de funciones hechas con las que puedes extraer lo más buscado y, segundo, porque ante la duda puedes usar chatgpt para que te dé la expresión hecha y explicada.
Lo que sí voy a mostrarte aquí son ejemplos prácticos, casos reales para que no sea una clase teórica y aburrida. Vamos a intentar ser lo más prácticos posibles.
Custom extraction con CSS Path
Empezamos con la forma que a mí más me gusta: CSS Path. Ésta es mi favorita porque me parece muy intuitiva, solo hay que analizar la clase CSS del elemento para hacer la búsqueda en base a ello.
Vamos a verlo con unos ejemplos.
Caso práctico 1: extracción de migas de pan
Imaginemos que queremos extraer las migas de pan de nuestra web para ver si están todas bien implementadas.
Muy sencillo, vamos a las migas de pan y las analizamos con el inspector (botón secundario > inspeccionar). Si hacemos esto, encontraremos una clase llamada "breadcrumb_last", dentro de la etiqueta HTML span (punto 2 de la imagen de abajo).
Así pues, la ruta CSS es span.breadcrum_last, lo cual confirmamos con el punto 3.
Estupendo, pues ahora vamos a Screaming Frog > Configuración > Personalizado > Extracción personalizada.
En la ventana que se abre le damo a Añadir, en el botón de abajo a la derecha.
Y finalmente introducimos nuestra expresión, que es:
- Nombre: Migas de pan
- Tipo: Ruta CSS
- Expresión: span.breadcrum_last
- Extracción: Extraer texto
Tras ello, introducimos nuestra web o URL y le damos a Empezar. Una vez ha terminado vamos a la pestaña de Extracción personalizada y ahí veremos el resultado.
Caso práctico 2: extracción de valoraciones
Vamos con el segundo ejemplo. Imagino que muchas de las personas que leen esta web usan el famoso plugin de Yet Another Stars Rating. Sí, ese plugin de las estrellitas creado para que la gente valore tu artículo pero que solo lo usan los competidores para ponerte un 1 sobre 5.
Pues bien, vamos a ver como de bien o de mal nos valoran gracias a Screaming Frog y su extracción personalizada.
Para ello, vamos nuestra web y analizamos la valoración.
Tras ello, vamos de nuevo a Screaming Frog e introducimos la expresión:
- Nombre: Estrellas
- Tipo: Ruta CSS
- Expresión: div.yasr-vv-stats-text-container
- Extracción: Extraer texto
Hecha la configuración, ejecutamos el rastreo y si vamos a la pestaña de extracción personalizada encontraremos nuestras valoraciones.
Lo que tocaría ahora, es entrar en base de datos y "corregir" las puntuaciones malas (lo podemos ver un día de estos).
Creo que ya has pillado la idea, así que vamos a pasar a Regex.
Custom extraction con Regex
El Custom Extraction con Regex es muy potente ya que podemos sacar una gran cantidad de datos en base a patrones. De hecho, te aconsejo usar las expresiones regulares en muchos otros aspectos del SEO, sin ir más lejos, aquí te explico como exprimir Search Console con Regex.
Volviendo a nuestra clase de Screaming Frog, un truco que aprendí con Jose Lab es que podemos usar el modo lista de Screaming Frog para introducir un listado de webs y extraer sus correos para después contactarles.
Vamos a verlo en detalle.
Caso práctico 3: extracción de correos
Para extraer correos con Screaming Frog debemos crear el patrón que sigue un correo, el cual suele tener la siguiente forma:
nombre@dominio.tld
Por lo tanto, debemos crear una expresión que:
- Empiece con un texto.
- Seguido de una arroba (@).
- Seguido de un texto.
- Seguido de un punto
- Seguido de un texto.
En otras palabras, podemos usar las expresiones siguientes:
- [\w\.-]+@[\w\.-]+\.\w+
- \w+@\w+\.\w+
Y esto lo implementamos de la siguiente forma:
- Nombre: Correo
- Tipo: Ruta CSS
- Expresión: [\w\.-]+@[\w\.-]+\.\w+ ó \w+@\w+\.\w+
- Extracción: Extraer texto
De hecho, podemos configurar ambas búsquedas personalizadas:
Tras ello, ejecutamos la herramienta y obtendremos la información.
Como ves arriba, tenemos que para la búsqueda A tenemos 2 resultados. Esto te lo explico un poco más abajo, pero vamos a ver antes como hacer una extracción personalizada con Screaming Frog y Xpath.
Custom extraction con XPath
Vamos ahora con la extracción personalizada de Screaming Frog a partir de Xpath. Esta forma para mi es la más complicada, pero porque no estoy del todo familiarizado con este formato de XML. Ahora, tiene su lógica.
Te explico las expresiones en las cuales no basamos:
Sintaxis | Explicación |
---|---|
/ | Buscamos dentro de la raíz |
/ / | Buscamos dentro del documento |
@ | Extraemos un atributo concreto de un elemento |
* | Comodín para seleccionar cualquier elemento. |
[] | Buscamos un elemento bajo una condición |
Así pues, podemos usar las siguientes expresiones usamos las siguientes expresiones:
- Extraer el h1: //h1
- Extraer el número de encabezados H3: count(//h3) (configurado como valor de función)
- Extraer todos los enlaces: //@href (absolutamente todos, incluidos de imágenes, por ejemplo)
- Migas de pan de Yoast: //*[@class=’breadcrumb_last’]/text()
En cualquier caso, tenemos muchísimas alternativas para obtener el Xpath de un elemento HTML.
De entrada, si es algo fácil se lo puedes pedir a ChatGPT.
Así mismo, Screaming Frog nos ofrece la posibilidad de obtener directamente de la web el elemento a extraer. Para ello, tenemos que hacer clic en la bola del mundo que aparece a la derecha de la extracción personalizada.
En este momento se abrirá una ventana llamada "Extracción personalizada visual" donde podemos introducir nuestra web y extraer la información de una manera muy visual.
Cómo scrapear con Screaming Frog
Lo explicado arriba está muy bien pero vamos a hacer algo más potente. Vamos a ver (por encima) cómo scrapear con Xpath y screaming Frog.
Imagina que tenemos una web de tipo directorio donde aparece una ficha que contiene una dirección y queremos extraer dicha información. Para ello, podemos analizar el elemento HTML que contiene dicha información y con el botón secundario > copy >copy Xpath obtendríamos su expresión.
Y ya que estamos, vamos a sacar su teléfono y la imagen esa de la derecha, repitiendo la jugada. Tras ello, solo tenemos que llevarla a nuestras sección de extracción personalizada y listo.
Después de ejecutar la herramienta encontraremos la información que queríamos:
Con esto damos unas pinceladas sobre cómo scrapear con Screaming Frog. Ya haré una clase más profunda sobre esto porque lo cierto es que se pueden hacer auténticas maravillas.
Extracción personalizada en Screaming Frog de diferentes formas
Llegados a este punto, imaginarás que podemos extraer lo mismo de varias formas distintas por lo que te aconsejo usar aquella en la que te sientas más cómodo. Para ilustrarlo mejor, vamos a ver un último ejemplo.
Imaginemos que queremos extraer el texto del Table of Content que te muestro abajo:
Si te fijas en el camino que tenemos hacia los enlaces, tenemos una ruta formada por el elemento ol, el cual tiene el identificador "index-table", seguido del elemento li y finalmente tenemos nuestro enlace.
Así pues, podemos extraer el información de la siguiente forma:
- Extracción con Xpath: //ol[@id=’index-table’]/li/a/text()
- Extracción con CSS path: ol#index-table li > a
- Extracción con Xpath: <ol id=»index-table»>.*?<a href=»#[^»]+»>([^<]+)</a>
¡Ojo! no siempre se puede sacar lo mismo de las 3 formas. Por ejemplo, para los encabezados (H1, H2, H3...) puedes usar Xpath (//h2) o CSS Path (h2) pero no regex.
Y con esto terminamos la extracción personalizada de Screaming Frog. Como siempre digo, ahora te toca a ti practicar y extraer todo aquello que necesites.
Exportación en bloque de la extracción personalizada
Finalmente, vamos a ver cómo podemos salvar la información extraída de Screaming Frog. Y para ello, realmente lo tenemos muy fácil ya que solo tenemos que ir a Exportación en bloque > Extracción personalizada y seleccionar si queremos extraer todo o que extractores.
Y ahora ya, sí que sí, hemos terminado por hoy. Espero que te haya servido esta clase y si es así, te espero en la siguiente de este curso de Screaming Frog. Ciao!
Si has llegado hasta aquí… ¡Apúntate a mi Newsletter y sigue aprendiendo cada semana sobre SEO!
Deja una respuesta