Rastrear un sitio web

Rastree un sitio web y sus páginas vinculadas para extraer datos completos. Para obtener instrucciones detalladas de uso, consulte la Referencia de la API de Crawl

De forma predeterminada, el rastreo omite los enlaces secundarios que no forman parte de la jerarquía de URL que usted especifica. Por ejemplo, rastrear https://example.com/products/ no capturaría páginas bajo https://example.com/promotions/deal-567. Para incluir dichos enlaces, active el parámetro allowBackwardLinks .

Scrapeless expone endpoints para iniciar una solicitud de rastreo y obtener su estado y resultados. De forma predeterminada, el rastreo se maneja de manera asincrónica: primero inicie el trabajo y luego verifique su estado hasta que finalice. Sin embargo, con nuestros SDK, proporcionamos una función sencilla que gestiona todo el flujo y devuelve los datos una vez finalizado el trabajo.

Instalación

npm install @scrapeless-ai/sdk
 
pnpm add @scrapeless-ai/sdk
 

Uso

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Initialize the client
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Get your API key from https://scrapeless.com
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      scrapeOptions: {
        formats: ["markdown", "html", "links"],
        onlyMainContent: false,
        timeout: 15000,
      },
      browserOptions: {
        proxyCountry: "ANY",
        sessionName: "Crawl",
        sessionRecording: true,
        sessionTTL: 900,
      },
    }
  );
 
  console.log(result);
})();
 

Respuesta

{
  "success": true,
  "status": "completed",
  "completed": 2,
  "total": 2,
  "data": [
    {
      "url": "https://example.com",
      "metadata": {
        "title": "Example Page",
        "description": "A sample webpage"
      },
      "markdown": "# Example Page\nThis is content...",
      ...
    },
    ...
  ]
}
 

Cada página rastreada tiene su propio estado de completed o failed y puede tener su propio campo de error, por lo que debe tener cuidado con ello.

Para ver el esquema completo, consulte la Referencia de la API.

Configuraciones del navegador

También puede proporcionar configuraciones para la sesión utilizada para ejecutar el trabajo de extracción al crear una sesión nueva; estas podrían incluir el uso de un proxy.

Para obtener una lista completa de los parámetros disponibles, consulte la Referencia de la API o Parámetros del navegador.

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Initialize the client
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Get your API key from https://scrapeless.com
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      browserOptions: {
        proxyCountry: "ANY",
        sessionName: "Crawl",
        sessionRecording: true,
        sessionTTL: 900,
      },
    }
  );
 
  console.log(result);
})();
 

Configuraciones de extracción

Usted también puede especificar parámetros opcionales para el trabajo de extracción, como formatos de respuesta, habilitar la extracción solo del contenido principal, establecer un tiempo máximo de espera para la navegación de páginas, y más.

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Initialize the client
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Get your API key from https://scrapeless.com
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      scrapeOptions: {
        formats: ["markdown", "html", "links"],
        onlyMainContent: false,
        timeout: 15000,
      }
    }
  );
 
  console.log(result);
})();
 

Para una referencia completa sobre el endpoint de rastreo, consulte la referencia de la API.