Home
Login

Potente biblioteca de web scraping y automatización de navegadores Node.js, compatible con JavaScript y TypeScript, que permite extraer datos para IA, LLM, RAG, etc.

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - Marco de trabajo moderno para el rastreo web y la automatización del navegador

Resumen del proyecto

Crawlee es una potente biblioteca de Node.js para el rastreo web y la automatización del navegador, desarrollada por Apify, diseñada específicamente para construir rastreadores web fiables. El proyecto es compatible con JavaScript y TypeScript, y puede proporcionar servicios de extracción de datos de alta calidad para aplicaciones de IA, modelos de lenguaje grandes (LLM), generación aumentada por recuperación (RAG), etc.

Dirección de GitHub: https://github.com/apify/crawlee

Características principales

🚀 Interfaz de rastreo unificada

  • Soporte multi-motor: Interfaz unificada que soporta peticiones HTTP y rastreo con navegadores sin cabeza.
  • Selección flexible: Se puede elegir el método de rastreo adecuado según las necesidades.

🔄 Gestión inteligente de colas

  • Colas persistentes: Soporta colas de rastreo de URLs con prioridad por anchura y profundidad.
  • Escalado automático: Ajusta automáticamente la escala de rastreo según los recursos del sistema.

💾 Sistema de almacenamiento flexible

  • Soporte multi-formato: Soporte para almacenamiento enchufable de datos tabulares y archivos.
  • Local/Nube: Almacenamiento por defecto en el directorio local ./storage, con soporte para almacenamiento en la nube.

🔒 Anti-detección de nivel empresarial

  • Rotación de proxies: Integración de rotación de proxies y gestión de sesiones.
  • Simulación humana: Configuración por defecto que simula el comportamiento humano para evitar la detección de robots modernos.
  • Falsificación de huellas digitales: Generación automática de huellas digitales TLS y encabezados de petición similares a los de un navegador real.

🛠 Amigable para desarrolladores

  • Soporte nativo de TypeScript: Definiciones de tipo completas y soporte genérico.
  • Herramienta CLI: Proporciona un andamiaje para crear proyectos rápidamente.
  • Ganchos de ciclo de vida: Manejo de eventos de ciclo de vida personalizables.
  • Listo para Docker: Dockerfile incorporado para facilitar la implementación.

Métodos de rastreo soportados

Rastreo HTTP

  • Alto rendimiento: Soporte HTTP2 sin configuración, incluyendo proxies.
  • Análisis inteligente: Integración de analizadores HTML rápidos Cheerio y JSDOM.
  • Amigable con APIs: También soporta el rastreo de APIs JSON.

Automatización del navegador

  • Multi-navegador: Soporta múltiples navegadores como Chrome, Firefox, Webkit, etc.
  • Renderizado JavaScript: Manejo de contenido dinámico y aplicaciones de una sola página.
  • Función de captura de pantalla: Soporte para capturas de pantalla de páginas.
  • Modo con/sin cabeza: Selección flexible del modo de ejecución.
  • Interfaz unificada: Playwright y Puppeteer utilizan la misma interfaz API.

Inicio rápido

Crear un proyecto usando CLI

npx crawlee create my-crawler
cd my-crawler
npm start

Código de ejemplo básico

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

Instalar dependencias

npm install crawlee playwright

Arquitectura técnica

Módulos principales

  • @crawlee/core: Módulo de funcionalidad principal.
  • @crawlee/types: Definiciones de tipo TypeScript.
  • @crawlee/utils: Funciones de utilidad.

Librerías y herramientas soportadas

  • Playwright: Automatización moderna del navegador.
  • Puppeteer: Automatización de Chrome/Chromium.
  • Cheerio: Análisis HTML rápido.
  • JSDOM: Operaciones y análisis DOM.

Implementación e integración

Desarrollo local

  • Los datos se almacenan por defecto en el directorio ./storage.
  • Soporte para personalizar la ubicación de almacenamiento a través de archivos de configuración.
  • Soporte completo de guías de configuración y documentación.

Implementación en la nube

  • Plataforma Apify: Dado que Crawlee está desarrollado por Apify, se puede implementar fácilmente en la plataforma en la nube de Apify.
  • Soporte Docker: Configuración Docker incorporada, soporte para implementación en contenedores.
  • Multiplataforma: Se puede ejecutar en cualquier entorno que soporte Node.js.

Gestión de versiones

  • Versión estable: Instalar la versión de lanzamiento estable a través de npm.
  • Versión Beta: Soporte para instalar versiones beta para probar nuevas funcionalidades.
npm install crawlee@3.12.3-beta.13

Escenarios de aplicación

Ciencia de datos e IA

  • Conjuntos de datos de aprendizaje automático: Recopilación de datos de entrenamiento para modelos de IA.
  • Sistemas RAG: Proporcionar una base de conocimiento para sistemas de generación aumentada por recuperación.
  • Entrenamiento LLM: Recopilación de datos de pre-entrenamiento para modelos de lenguaje grandes.

Aplicaciones comerciales

  • Análisis de la competencia: Monitorización de los productos e información de precios de los competidores.
  • Investigación de mercado: Recopilación de tendencias de la industria y datos de mercado.
  • Agregación de contenido: Recopilación automatizada de noticias, artículos, etc.

Monitorización técnica

  • Monitorización de sitios web: Comprobación periódica de los cambios en los sitios web.
  • Seguimiento de precios: Monitorización de precios de productos de comercio electrónico.
  • Copia de seguridad de datos: Copia de seguridad periódica del contenido importante de las páginas web.

Resumen

Crawlee es un marco de trabajo de rastreo web completo y de diseño moderno, especialmente adecuado para aplicaciones de nivel empresarial que requieren alta fiabilidad y capacidades anti-detección. Su diseño de API unificado, sus potentes funciones anti-detección y su completo ecosistema lo convierten en la opción ideal para proyectos modernos de recopilación de datos. Ya sea para recopilar datos para proyectos de IA o para realizar análisis de inteligencia empresarial, Crawlee puede proporcionar una solución estable y fiable.