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.
AnyCrawl destaca en varias áreas:
AnyCrawl soporta varios motores de scraping:
Inicia rápidamente usando Docker Compose:
docker compose up --build
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 |
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"
}'
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) |
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"
}'
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 | |
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 |
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.
R: Sí, AnyCrawl soporta proxies HTTP y SOCKS. Se configura a través de la variable de entorno ANYCRAWL_PROXY_URL
.
R: AnyCrawl soporta Puppeteer y Playwright para manejar las necesidades de renderizado de JavaScript.
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.