CrawlIntrodução rápidaComeçando

Começando

Crawleando uma Única Página

A API Crawl permite que você obtenha os dados que deseja de páginas da web com uma única chamada. Você pode raspar o conteúdo da página e capturar seus dados em vários formatos.

O Scrapeless expõe endpoints para iniciar uma solicitação de raspagem e para obter seu status e resultados. Por padrão, a raspagem é gerenciada de forma assíncrona, primeiro iniciando o trabalho e depois verificando seu status até que ele seja concluído. No entanto, com nossos SDKs, fornecemos uma função simples que lida com todo o fluxo e retorna os dados assim que o trabalho estiver concluído.

Instalação

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

Uso

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com"
  );
 
  console.log(result);
})();
 

Configurações do Navegador

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

O Scrapeless lida automaticamente com tipos comuns de CAPTCHA, incluindo reCAPTCHA v2, Cloudflare Turnstile/Challenge.

Nenhuma configuração adicional é necessária—o Scrapeless cuida disso durante a raspagem. 👉 Para mais detalhes, confira Solução de CAPTCHA.

Para ver todos os diferentes parâmetros de navegador disponíveis, confira a Referência da API ou Parâmetros do Navegador.

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com",
    {
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

Configurações de Raspagem

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

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com",
    {
      formats: ["markdown", "html", "links"],
      onlyMainContent: false,
      timeout: 15000,
    }
  );
 
  console.log(result);
})();
 

Para uma referência completa sobre o endpoint de raspagem, confira a Referência da API.

Raspagem em Lote

A raspagem em lote funciona da mesma forma que a raspagem regular, exceto que, em vez de uma única URL, você pode fornecer uma lista de URLs para raspar de uma vez.

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.batchScrapeUrls(
    ["https://example.com", "https://scrapeless.com"],
    {
      formats: ["markdown", "html", "links"],
      onlyMainContent: false,
      timeout: 15000,
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

Crawleando Subpáginas

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

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

O Scrapeless expõe endpoints para iniciar uma solicitação de crawl e obter seu status e resultados. Por padrão, o crawl é gerenciado de forma assíncrona: inicie o trabalho primeiro, depois verifique seu status até que seja concluído. No entanto, com nossos SDKs, fornecemos uma função simples que lida com todo o fluxo e retorna os dados assim que o trabalho estiver concluído.

Instalação

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

Uso

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      scrapeOptions: {
        formats: ["markdown", "html", "links"],
        onlyMainContent: false,
        timeout: 15000,
      },
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 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 crawleada tem seu próprio status de completed ou failed e pode ter seu próprio campo de erro, então tome cuidado com isso.

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

Configurações do Navegador

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

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

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em https://scrapeless.com
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

Configurações de Raspagem

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

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// Inicializa o cliente
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // Obtenha sua chave de API em 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.