Extracción de LLM: Convierta páginas web en datos estructurados

Desata el Poder de los LLM para Web Scraping con LLM Scraper

En el dinámico mundo del desarrollo web y el análisis de datos, extraer información estructurada de la vasta extensión de internet de manera eficiente es un desafío común. Entra LLM Scraper, un proyecto de código abierto de vanguardia que promete revolucionar la forma en que recopilas datos de páginas web. Desarrollado con TypeScript y construido sobre el robusto framework Playwright, LLM Scraper aprovecha el poder de los Modelos de Lenguaje Grandes (LLM) para convertir cualquier página web en datos estructurados y utilizables.

¿Qué es LLM Scraper?

LLM Scraper es una versátil biblioteca de TypeScript diseñada para simplificar el proceso de extracción de datos del contenido web. Utiliza LLM, a través de sus capacidades de "function-calling", para interpretar y estructurar información basándose en tus esquemas definidos. Ya sea que estés trabajando con HTML preprocesado, HTML crudo, Markdown, o incluso datos visuales de capturas de pantalla a través de LLM multimodales, LLM Scraper te cubre.

Características y Beneficios Clave

LLM Scraper cuenta con un impresionante conjunto de características que se adaptan a una amplia gama de casos de uso:

  • Amplio Soporte de LLM: Se integra con proveedores de LLM populares, incluyendo GPT (OpenAI), Sonnet (Anthropic), Gemini (Google), Llama (Meta) y Qwen.
  • Definición Flexible de Esquemas: Define tus estructuras de datos utilizando Zod o JSON Schema, asegurando una sólida seguridad de tipos en tus datos extraídos.
  • Base Playwright: Construido sobre Playwright, una potente herramienta para pruebas y automatización de extremo a extremo, garantizando interacciones confiables con el navegador.
  • Múltiples Modos de Formato: Soporta formatos html, raw_html, markdown, text (a través de Readability.js) e image (para LLM multimodales) para una entrada de datos versátil.
  • Objetos en Streaming: Recupera datos incrementalmente a medida que se procesan, lo cual es beneficioso para grandes conjuntos de datos o aplicaciones en tiempo real.
  • Generación de Código: Una característica única que te permite generar scripts Playwright reutilizables basados en tus esquemas definidos, agilizando tareas repetitivas.

Primeros Pasos con LLM Scraper

Iniciar tu viaje de extracción de datos con LLM Scraper es muy sencillo:

  1. Instalar Dependencias:

    npm i zod playwright llm-scraper
    

  2. Inicializar tu LLM: Elige tu proveedor de LLM preferido y configúralo. Se proporcionan ejemplos para OpenAI, Anthropic, Google, Groq y Ollama.

    • Ejemplo de OpenAI:
      import { openai } from '@ai-sdk/openai'
      const llm = openai.chat('gpt-4o')
      
  3. Crear una Instancia de LLMScraper: Instancia el scraper con tu LLM elegido.

    import LLMScraper from 'llm-scraper'
    const scraper = new LLMScraper(llm)
    

  4. Ejecutar el Scraper: Define tu esquema deseado usando Zod y luego ejecuta el scraper en una página de Playwright.

    import { chromium } from 'playwright'
    import { z } from 'zod'
    import { openai } from '@ai-sdk/openai'
    import LLMScraper from 'llm-scraper'
    
    const browser = await chromium.launch()
    const llm = openai.chat('gpt-4o')
    const scraper = new LLMScraper(llm)
    const page = await browser.newPage()
    await page.goto('https://news.ycombinator.com')
    
    const schema = z.object({
      top: z.array(z.object({
        title: z.string(),
        points: z.number(),
        by: z.string(),
        commentsURL: z.string(),
      })).length(5).describe('Top 5 stories on Hacker News'),
    })
    
    const { data } = await scraper.run(page, schema, { format: 'html' })
    console.log(data.top)
    
    await page.close()
    await browser.close()
    

Para aquellos que prefieren el procesamiento de datos en tiempo real, la función stream permite la recuperación iterativa de datos.

Contribuyendo a LLM Scraper

LLM Scraper es un proyecto impulsado por la comunidad. Los desarrolladores animan las contribuciones, los informes de errores y las solicitudes de características a través de problemas y solicitudes de extracción en GitHub, lo que lo convierte en un esfuerzo verdaderamente colaborativo de código abierto.

Con sus capacidades sofisticadas y su diseño fácil de usar, LLM Scraper es una herramienta invaluable para desarrolladores, investigadores y cualquier persona que busque extraer eficientemente datos estructurados valiosos de la web utilizando el poder de la IA.

Artículo original: Ver original

Compartir este artículo