Aprende a scrapear webs con n8n, para llevar información pública a cualquier parte de tus automatizaciones, sin programar una línea!
¿Qué es «scrapear» y por qué usar n8n?
El «web scraping» es la técnica de extraer información de sitios web de forma automatizada, en lugar de hacerlo manualmente. Es decir, leer mediante una herramienta de automatización el contenido de una página web para quedarte con el dato que te interesa.
Por ejemplo, hace tiempo te enseñé cómo podías utilizar Home Assistant para hacer el seguimiento de la cartelera. Este es un buen ejemplo de como podemos «captar» información pública para usarla para nuestros objetivo en nuestro entorno.

Esta técnica es un «comodín» genial cuando existe información que nos interesa, que no es accesible mediante otro tipo de fuentes (como APIs o integraciones). Y aunque es perfectamente posible hacerlo con Home Assistant, creo que scrapear webs con n8n aporta ciertas ventajas adicionales:
- Puedes hacerlo todo desde la interfaz gráfica, sin necesidad de programar.
- Puedes automatizar fácilmente el desencadenante del «scrapeo», utilizando cualquiera de los nodos disponibles.
- Puedes visualizar cláramente el código de respuesta, muy útil para analizar errores.
- Y, por supuesto, puedes llevarte esta información a cualquiera de sus integraciones (como Telegram o Google Sheets).
Scrapear webs con n8n
El proceso es realmente sencillo, y consta de 2 pasos. Para ilustrar el ejemplo, vamos a sacar el resultado del cuponazo de la ONCE de los viernes, que siempre tomamos como referencia en los sorteos de Aguacatec para que se sepa que no hay «trampa ni cartón».
- Accede a la interfaz y crea un nuevo «workflow». Pulsa sobre «Add first step…» y añade un trigger manual, para que podamos desencadenar fácilmente el flujo (más tarde puedes modificarlo si quieres).
- Pulsa en el icono «+» y busca el nodo «HTTP Request». Este sirve para hacer una llamada HTTP a una dirección web y en este caso nos va a servir para obtener el código HTML de una página. Para ello sólo tienes que seleccionar el método «GET» en el desplegable e introducir la URL en el campo correspondiente.
- En mi caso voy a utilizar esta página de la ONCE, donde se publican los resultados poco después de celebrar el sorteo. Si haces la prueba y ejecutas el nodo con estos datos, verás que a la derecha aparece el código de la página.

- Obviamente, no necesitas entender ni revisar este código para extraer la información que te interesa. Vuelve al panel del flujo, pulsa de nuevo en el icono «+» y busca el nodo HTML > Extract HTML Content. Este nos va servir para seleccionar el dato (o datos) que queremos. Para que n8n sepa qué dato nos interesa tenemos que indicarle el «selector» correspondiente.
- La forma más sencilla (que conozco) para obtenerlo es marcar el dato desde Google Chrome, hacer clic derecho y luego en «Inspeccionar». Esto abrirá las herramientas para desarrolladores, desde donde sólo tienes que bajar hasta la línea correspondiente al dato (que ya está iluminada), hacer clic derecho, y seleccionar Copy > Selector.

- Tras hacer clic se habrá copiado al portapapeles el selector correspondiente. Aunque no hace falta que lo entiendas, lo que estás viendo es el recorrido por una estructura anidada desde el elemento más general (el «body») hasta el elemento que contiene el dato concreto. En el caso del ejemplo es el siguiente
- Copia este código en el campo «CSS Selector», y añade el nombre que quieras en el campo «Key» (por ejemplo, «Número premiado»). Si ejecutas el nodo, comprobarás en la parte de la derecha como se ha creado una variable con el dato correspondiente.

- A partir de aquí, ya puedes usar este dato en tus flujos. Por ejemplo, puedes enviarlo a tu grupo de Telegram o incorporarlo en una hoja de Google Sheets.

Limitaciones y riesgos de scrapear
Ya ves que scrapear webs con n8n es realmente fácil, pero hay algunos detalles que debes saber. En primer lugar, no todas las páginas permiten que «scrapes» su contenido. Esto se debe a que supone un consumo de recursos para el servidor que ofrece la información.
Lo bueno de n8n es que en el campo de respuesta verás un mensaje claro, indicándote si este es el problema o simplemente no has indicado bien el selector. De esta forma no te «volverás loco» buscando el dato, cuando en realidad se debe a que el servidor está capado.
Por otro lado, puede que no te apañes bien con el selector, o simplemente no devuelva la información que esperas. En este caso te sugiero que copies el código HTML completo que devuelve el nodo «HTTP Request», se lo copies a una IA como Claude y le preguntes qué selector debes utilizar en n8n para extraer el dato que te interesa.

