El problema
Los usuarios de n8n que intentan realizar web scraping se enfrentan a fallos constantes: CAPTCHA, bloqueos de IP, cambios de HTML que interrumpen los analizadores y limitaciones de velocidad. El nodo de solicitud HTTP funciona perfectamente para las API, pero el scraping requiere una infraestructura adicional (proxies, navegadores sin cabeza) de la que carecen la mayoría de las configuraciones n8n.
La solucion de Scavio
Reemplace el web scraping directo en n8n con llamadas API de búsqueda estructurada. El nodo de solicitud HTTP envía una POST a la API de búsqueda y recibe JSON estructurado. Sin gestión de proxy, sin mantenimiento del analizador, sin resolución de CAPTCHA.
Antes
Antes del cambio, un usuario de n8n intentó raspar Google directamente con el nodo de solicitud HTTP. Tasa de éxito: ~40% (CAPTCHA, bloques). Usé SerpAPI pero tuve problemas con las búsquedas específicas del sitio. Pasé 6 horas depurando flujos de raspado n8n.
Después
Después de cambiar a una API de búsqueda, el mismo flujo de trabajo n8n tiene una tasa de éxito superior al 99 %. El nodo de solicitud HTTP envía una carga útil JSON y recibe resultados estructurados. Las búsquedas específicas del sitio funcionan a través del operador sitio: en la consulta. Tiempo de preparación: 15 minutos.
Para quien es
Usuarios de n8n, creadores de automatización sin código y equipos pequeños que necesitan datos web confiables en sus flujos de trabajo n8n sin necesidad de raspar la infraestructura.
Beneficios clave
- El nodo de solicitud HTTP funciona directamente con la API de búsqueda
- Tasa de éxito superior al 99 % frente al 40 % con scraping directo
- JSON estructurado elimina el análisis de HTML en n8n
- Búsquedas específicas del sitio a través del sitio: operador en consulta
- El nivel gratuito (250/mes) cubre la creación de prototipos n8n
Ejemplo en Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
# n8n HTTP Request node equivalent
def n8n_search(query, site=None):
q = f'site:{site} {query}' if site else query
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': q}, timeout=10).json()
return [{'title': r.get('title', ''), 'url': r.get('link', ''),
'snippet': r.get('snippet', '')}
for r in r.get('organic_results', [])[:5]]
# Site-specific search (fixes the common SerpAPI confusion)
results = n8n_search('STM32 ADC configuration', site='community.st.com')
for r in results:
print(f"{r['title'][:50]} - {r['url']}")Ejemplo en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function n8nSearch(query, site) {
const q = site ? `site:${site} ${query}` : query;
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: H,
body: JSON.stringify({platform: 'google', query: q})
}).then(r => r.json());
return (r.organic_results || []).slice(0, 5).map(r => ({
title: r.title, url: r.link, snippet: r.snippet
}));
}
n8nSearch('STM32 ADC', 'community.st.com').then(r => r.forEach(i => console.log(i.title)));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit