Saltearse al contenido

Web Scraper

El Web Scraper permite que los usuarios obtengan el texto de páginas web y lo convierta en Markdown. Es útil para recopilar información de artículos, blogs o cualquier página pública y usarla dentro de flujos de trabajo de Nappai.

¿Cómo funciona?

Internamente el componente envía una solicitud HTTP a la URL indicada (o a cada URL cuando se activa el modo de mapeo). La respuesta se procesa con el servicio Crawl4AI, que extrae el contenido y lo formatea como Markdown. Los resultados se entregan como dos salidas: un objeto Data con el texto completo y un objeto Tool que facilita su uso posterior en LLMs.

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

  • Mapping Mode: Activa el modo de mapeo para procesar múltiples registros de datos en lote.
  • Timeout: Tiempo máximo, en milisegundos, que el componente esperará por la respuesta de la página.
  • Tool Description: Descripción que se incluirá en la herramienta generada para el LLM.
  • Tool Name: Nombre que tendrá la herramienta dentro del LLM.
  • URL: La dirección web a extraer. Puedes introducir una lista separada por comas para procesar varias URLs a la vez. Solo se admiten páginas públicas; las que requieren autenticación no serán accedidas.

Salidas

  • Data: Contiene el texto completo extraído, formateado en Markdown.
  • Tool: Genera una herramienta que puede ser utilizada por un modelo de lenguaje para consultar el contenido extraído dentro de diálogos o tareas.

Ejemplo de Uso

Supongamos que quieres extraer el contenido de un artículo de noticias:

  1. Arrastra el componente Web Scraper al flujo.
  2. En URL escribe:
    https://example.com/mi-article.
  3. Opcionalmente, completa Tool Description y Tool Name si deseas usar la salida como herramienta en un LLM.
  4. Conecta la salida Data a un componente ParseData para convertir el Markdown a formato estructurado, o directamente a OpenAIModel para responder preguntas sobre el artículo.

Componentes Relacionados

  • OpenAIModel - Se puede usar para generar respuestas basadas en el contenido extraído.
  • ParseData - Convierte el Markdown resultante en un formato más fácil de manipular dentro de Nappai.

Notas Importantes

🔒 Respect Robots.txt and Terms of Service 🔴
Always check the target website’s robots.txt and usage policies before scraping. Scraping disallowed content can lead to legal issues or IP blocking.

⚠️ Cannot Scrape Authenticated Sites 🔴
The Web Scraper only fetches publicly accessible web pages. Pages that require login, API keys, or other authentication mechanisms will not be scraped successfully.

⚠️ Performance on Large or Dynamic Pages 🟡
Pages with large amounts of content, heavy JavaScript, or complex layouts may take longer to scrape and can result in incomplete markdown output.

📋 Internet Connectivity Needed 🟡
The component requires outbound network access to reach the URLs you provide. Ensure your environment has internet connectivity and no firewall blocks the target domains.

💡 Use Direct URLs for Target Content 🟢
Providing the most specific URL (e.g., article page instead of a site’s homepage) improves accuracy and reduces unnecessary data extraction.

⚙️ Mapping Mode Enables Per-URL Outputs 🟢
With mapping_mode set to true, the component will produce a separate markdown output for each URL in the input list. Verify that your downstream process can handle multiple outputs.

ℹ️ Output is Markdown 🟢
The scraper returns the scraped page content as Markdown text. Images, videos, and other media are not converted and may appear as broken links.

Consejos y Mejores Prácticas

  • Proporciona URLs precisas y de sitios confiables para evitar bloqueos.
  • Ajusta el Timeout cuando trabajes con páginas que suelen tardar en responder.
  • Si necesitas información de varias páginas, activa el Mapping Mode y alimenta la lista de URLs.
  • Utiliza la salida Tool para que el LLM pueda interactuar con la información de forma más dinámica.

Consideraciones de Seguridad

  • Respeta siempre la política de uso y los archivos robots.txt de los sitios web.
  • Evita extraer datos sensibles o privados; el componente solo accede a contenido público.
  • Mantén actualizada tu conexión a internet y verifica que no haya firewalls que bloqueen dominios externos.