Home
Login

Web scraper de alto rendimiento en Node.js/TypeScript, optimizado para LLM, compatible con la extracción de múltiples motores de búsqueda y la extracción de datos estructurados

MITTypeScript 500any4aiAnyCrawl Last Updated: 2025-07-03

Introducción Detallada al Proyecto AnyCrawl

🚀 Resumen del Proyecto

AnyCrawl es una aplicación de web scraping y extracción de datos de alto rendimiento, construida sobre Node.js/TypeScript. Este proyecto está especialmente optimizado para modelos de lenguaje grandes (LLM), capaz de convertir el contenido de sitios web a formatos de datos utilizables por LLM, y extraer datos estructurados de páginas de resultados de búsqueda (SERP) de motores de búsqueda como Google, Bing, Baidu, etc.

🎯 Características Principales

AnyCrawl destaca en varias áreas:

  • Scraping de SERP: Soporte para múltiples motores de búsqueda, con capacidad de procesamiento por lotes.
  • Scraping de Páginas Web: Extracción eficiente de contenido de páginas individuales.
  • Scraping de Sitios Web: Funcionalidad de rastreo inteligente de sitios web completos.
  • Arquitectura de Alto Rendimiento: Diseño de arquitectura multi-hilo y multi-proceso.
  • Procesamiento por Lotes: Manejo eficiente de tareas de scraping por lotes.

🏗️ Arquitectura Técnica

Diseño Moderno

  • Construido sobre Node.js/TypeScript
  • Optimizado para modelos de lenguaje grandes (LLM)
  • Soporte nativo para procesamiento por lotes multi-hilo
  • Diseño de arquitectura moderna

Motores de Scraping Soportados

AnyCrawl soporta varios motores de scraping:

  1. Cheerio: Análisis estático de HTML, la opción más rápida.
  2. Playwright: Renderizado de JavaScript, utilizando un motor moderno.
  3. Puppeteer: Renderizado de JavaScript, utilizando el motor Chrome.

🚀 Inicio Rápido

Despliegue con Docker

Inicia rápidamente usando Docker Compose:

docker compose up --build

Configuración de Variables de Entorno

Nombre de la Variable Descripción Valor Predeterminado Ejemplo
NODE_ENV Entorno de ejecución production production, development
ANYCRAWL_API_PORT Puerto del servicio API 8080 8080
ANYCRAWL_HEADLESS Si el motor del navegador usa modo sin cabeza true true, false
ANYCRAWL_PROXY_URL URL del servidor proxy (soporta HTTP y SOCKS) (ninguno) http://proxy:8080
ANYCRAWL_IGNORE_SSL_ERROR Ignorar errores de certificado SSL true true, false
ANYCRAWL_KEEP_ALIVE Mantener la conexión entre peticiones true true, false
ANYCRAWL_AVAILABLE_ENGINES Motores de scraping disponibles (separados por comas) cheerio,playwright,puppeteer playwright,puppeteer
ANYCRAWL_API_DB_TYPE Tipo de base de datos sqlite sqlite, postgresql
ANYCRAWL_API_DB_CONNECTION Cadena/ruta de conexión a la base de datos /usr/src/app/db/database.db /path/to/db.sqlite
ANYCRAWL_REDIS_URL URL de conexión a Redis redis://redis:6379 redis://localhost:6379
ANYCRAWL_API_AUTH_ENABLED Habilitar autenticación de API false true, false
ANYCRAWL_API_CREDITS_ENABLED Habilitar sistema de créditos false true, false

📝 Guía de Uso de la API

API de Scraping de Páginas Web

Uso Básico

curl -X POST http://localhost:8080/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "url": "https://example.com",
  "engine": "cheerio"
}'

Descripción de los Parámetros

Parámetro Tipo Descripción Valor Predeterminado
url string (obligatorio) La URL a scrapear. Debe ser una URL válida que comience con http:// o https:// -
engine string El motor de scraping a utilizar. Opciones: cheerio (análisis estático de HTML, el más rápido), playwright (renderizado de JavaScript, motor moderno), puppeteer (renderizado de JavaScript, motor Chrome) cheerio
proxy string La URL del proxy para la petición. Soporta proxies HTTP y SOCKS. Formato: http://[usuario]:[contraseña]@proxy:puerto (ninguno)

API de Scraping de Motores de Búsqueda

Uso Básico

curl -X POST http://localhost:8080/v1/search \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
  "query": "AnyCrawl",
  "limit": 10,
  "engine": "google",
  "lang": "all"
}'

Descripción de los Parámetros

Parámetro Tipo Descripción Valor Predeterminado
query string (obligatorio) La consulta de búsqueda a realizar -
engine string El motor de búsqueda a utilizar. Opciones: google google
pages integer El número de páginas de resultados de búsqueda a recuperar 1
lang string El código de idioma para los resultados de búsqueda (ej: 'en', 'zh', 'all') en-US

🧪 Pruebas y Desarrollo

Playground

Puedes usar el Playground para probar la API y generar ejemplos de código para tu lenguaje de programación favorito.

💡 Nota: Si estás auto-hospedando AnyCrawl, asegúrate de reemplazar https://api.anycrawl.dev con la URL de tu propio servidor.

❓ Preguntas Frecuentes

P: ¿Puedo usar un proxy?

R: Sí, AnyCrawl soporta proxies HTTP y SOCKS. Se configura a través de la variable de entorno ANYCRAWL_PROXY_URL.

P: ¿Cómo manejo el contenido renderizado con JavaScript?

R: AnyCrawl soporta Puppeteer y Playwright para manejar las necesidades de renderizado de JavaScript.

Resumen

AnyCrawl representa la vanguardia de la tecnología moderna de web scraping, especialmente en escenarios de aplicación de IA y aprendizaje automático. Su alto rendimiento, facilidad de uso y rica funcionalidad lo convierten en la opción ideal para desarrolladores y empresas que manejan tareas de extracción de datos a gran escala.

Star History Chart