Rastrear um Site

Rastreie um site e suas páginas vinculadas para extrair dados abrangentes. Para uso detalhado, confira a Referência da Crawl API

Por padrão, o rastreamento ignora sublinks que não fazem parte da hierarquia de URL que você especificar. Por exemplo, rastrear https://example.com/products/ não capturaria páginas sob https://example.com/promotions/deal-567. Para incluir esses links, ative o parâmetro allowBackwardLinks.

A Scrapeless expõe endpoints para iniciar uma solicitação de rastreamento e obter seu status e resultados. Por padrão, o rastreamento é tratado de forma assíncrona: inicie o job primeiro e, em seguida, verifique seu status até que seja concluído. No entanto, com nossos SDKs, fornecemos uma função simples que gerencia todo o fluxo e retorna os dados assim que o job é finalizado.

Instalação

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);
})();
 

Resposta

{
  "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 tem seu próprio status de completed ou failed e pode ter seu próprio campo de erro, então tenha cuidado com isso.

Para ver o schema completo, confira a Referência da API.

Configurações do Browser

Você também pode fornecer configurações para a sessão usada para executar o job de scraping ao criar uma nova sessão; essas configurações podem incluir o uso de um proxy.

Para uma lista completa dos parâmetros disponíveis, consulte a Referência da API ou os Parâmetros do Browser.

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);
})();
 

Configurações de Scraping

Você também pode especificar parâmetros opcionais para o job de scraping, como formatos de resposta, ativar a extração apenas do conteúdo principal, definir um tempo limite máximo de navegação de página e muito mais.

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 uma referência completa sobre o endpoint de crawl, confira a Referência da API.