El problema
Los proyectos de LangChain que utilizan herramientas de web scraping (cargadores BeautifulSoup, scrapers Playwright o extractores basados en Selenium) enfrentan un mantenimiento constante: la detección anti-bot rompe los scrapers, los diseños HTML cambian sin previo aviso y los costos de proxy aumentan. Cada raspador de la cadena es un punto frágil que requiere monitoreo y parches. La comunidad LangChain ha avanzado hacia API estructuradas en lugar de scraping sin procesar, pero las rutas de migración no están bien documentadas.
La solucion de Scavio
Reemplace las herramientas de raspado de LangChain con la API de búsqueda de Scavio como herramienta personalizada. La migración es sencilla: elimine la definición de la herramienta scraper, agregue una nueva herramienta que llame al punto final REST de Scavio y actualice el mensaje para hacer referencia al nuevo nombre de la herramienta. La respuesta ya está estructurada en JSON, por lo que no necesita ningún paso de análisis. Para los agentes de LangChain, defina la herramienta con una descripción clara para que el LLM sepa cuándo usarla. Para las cadenas LangChain, reemplace el nodo raspador con un nodo de llamada API.
Antes
Antes de la migración, un agente de investigación de LangChain utilizó un raspador de Google basado en Playwright que requería 150 líneas de Python, un tiempo de ejecución de navegador sin cabeza y una suscripción de proxy. El raspador se rompía cada 2 o 3 semanas cuando Google actualizaba su diseño, lo que requería parches de emergencia.
Después
Después de migrar a la API de búsqueda de Scavio, la definición de la herramienta es de 20 líneas de Python. Sin tiempo de ejecución del navegador, sin suscripción de proxy, sin análisis de HTML. El agente obtiene JSON estructurado directamente. La herramienta no ha requerido ni un solo parche en 4 meses porque el contrato API es estable.
Para quien es
Desarrolladores de LangChain que mantienen frágiles herramientas de raspado web y desean migrar a una API de búsqueda estructurada y estable sin reescribir la arquitectura de su agente.
Beneficios clave
- Reemplace 150 líneas de código scraping con 20 líneas de llamadas API
- Eliminar las dependencias del proxy y del navegador sin cabeza
- La respuesta JSON estructurada no requiere análisis HTML
- El contrato API estable elimina la interrupción del cambio de diseño
- Cobertura multiplataforma desde una única definición de herramienta
Ejemplo en Python
from langchain.tools import tool
import requests, os
@tool
def web_search(query: str) -> str:
"""Search the web for current information. Returns structured results from Google."""
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'google', 'query': query}, timeout=10)
results = resp.json().get('organic', [])[:5]
return '\n'.join(f"{r['title']}: {r['snippet']} ({r['link']})" for r in results)
# Use in a LangChain agent:
# from langchain.agents import create_tool_calling_agent
# agent = create_tool_calling_agent(llm, [web_search], prompt)
# agent_executor = AgentExecutor(agent=agent, tools=[web_search])Ejemplo en JavaScript
import { tool } from '@langchain/core/tools';
import { z } from 'zod';
const webSearch = tool(async ({ query }) => {
const resp = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ platform: 'google', query })
});
const data = await resp.json();
return (data.organic || []).slice(0, 5)
.map(r => `${r.title}: ${r.snippet} (${r.link})`).join('\n');
}, {
name: 'web_search',
description: 'Search the web for current information.',
schema: z.object({ query: z.string().describe('Search query') })
});Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit
YouTube
Búsqueda de videos con transcripciones y metadatos
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
Walmart
Búsqueda de productos con precios y datos de cumplimiento