> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usando Web Crawlers

> Indexe Páginas da Web para Busca Inteligente por IA

Com **Web Crawlers**, você pode coletar informações de um website automaticamente usando a URL do domínio do website. Qualquer página rastreável dentro do domínio será automaticamente adicionada à Base de Conhecimento. Para websites com conteúdo atualizado frequentemente, você pode agendar crawls periódicos para adicionar as informações mais recentes e o conteúdo de quaisquer páginas adicionadas recentemente à Base de Conhecimento. Além disso, você pode especificar certas palavras-chave ou caminhos no padrão de crawl para extrair apenas seções específicas do seu website.

## Padrões de Crawl

**Patterns** permitem restrições rápidas e fáceis nas páginas rastreadas ou processadas com base em correspondências simples de strings de URL. Por exemplo, para rastrear apenas páginas dentro da categoria "sports" em [http://www.example.com/sports/heres-a-sports-article.html](http://www.example.com/sports/heres-a-sports-article.html), você pode especificar um padrão de crawl de `/sports/` (incluir barras garante precisão e evita correspondência com uma string "sports" em outro lugar na URL).

Usando um padrão de crawl, você pode limitar o crawl a um subdomínio específico. Por exemplo, em um crawl iniciado em um domínio específico, você pode inserir um padrão de crawl para prevenir o crawl de links indesejados.

Em uma configuração de Web Crawl, você pode inserir múltiplos padrões para corresponder a múltiplas strings colocando cada padrão individual em uma nova linha.

Estes são os padrões de crawl disponíveis:

<AccordionGroup>
  <Accordion title="Limitando Correspondências ao Início de URLs">
    Use o caractere de acento circunflexo (`^`) para restringir as correspondências de padrão ao início de uma URL. Por exemplo, um padrão de processamento de `^https://example.com` limitará o processamento apenas a páginas cujas URLs comecem com `https://example.com`.
  </Accordion>

  <Accordion title="Padrões de Correspondência Negativa">
    Use o ponto de exclamação (`!`) para uma "correspondência negativa" para excluir explicitamente páginas de serem rastreadas ou processadas.
    <Warning>Com múltiplos padrões, as correspondências negativas prevalecem sobre outros padrões de crawl (exceto Regex, que teria precedência sobre qualquer outro padrão).</Warning>
  </Accordion>

  <Accordion title="Expressões Regulares de Crawl e Processamento">
    Para controle preciso sobre suas correspondências de crawl ou processamento de URL, você pode criar uma expressão regular (regex) para rastrear ou processar exclusivamente URLs que correspondam à sua expressão definida. Por exemplo, para processar páginas em `https://example.com/` sob o caminho "`/crawl`" e contendo o termo "regex", você poderia usar uma regex de processamento semelhante a: `\\/crawl.*?regex`.
    O crawlbot emprega um mecanheiro de expressão regular personalizado para desempenho ideal ao avaliar páginas. Em termos de sintaxe de classe de caracteres, comumente usada na análise do Crawlbot, o crawlbot suporta todos os caracteres de processamento ASCII e a maioria dos atalhos Perl/Tcl.
    <Warning>Crawl e processamento por regex não podem ser usados simultaneamente com outros padrões de crawl. Se ambos forem fornecidos, a regex prevalecerá sobre outros padrões de crawl.</Warning>
  </Accordion>

  <Accordion title="Padrão de Processamento HTML">
    O crawl permite limitar as páginas processadas com base em padrões de processamento HTML, que examinarão apenas o código-fonte bruto e não executam JavaScript/AJAX durante o tempo de crawl. No entanto, a desvantagem desta opção é a velocidade do crawl.
    Se você deseja uma velocidade de crawl mais rápida, deve usar crawl e processamento por regex.
  </Accordion>
</AccordionGroup>

## Quando Usar um Crawler

O crawler foi projetado para extrair informações estruturadas e de alto valor da web. Ele funciona melhor em cenários onde os dados estão disponíveis publicamente e são atualizados regularmente.

### Melhores Casos de Uso

* **Notícias e Mídia** – Extraia artigos de sites como BBC News
* **Dados Financeiros** – Colete insights de mercado de sites de ações como NASDAQ
* **E-Commerce** – Reúna listagens de produtos, avaliações e preços de marketplaces
* **Recursos de Conhecimento** – Capture posts de blogs, discussões em fóruns ou conteúdo de FAQ para enriquecer sua Base de Conhecimento.

### Quando Não Usar o Crawler

Evite o crawl nestas situações para prevenir erros ou problemas de conformidade:

* **Autenticação Necessária** – Websites que requerem credenciais de login (ex.: LinkedIn).
* **Dashboards Altamente Dinâmicos** – Dashboards em tempo real (como tickers de ações ao vivo) podem não fornecer resultados completos.
* **Carga Excessiva no Site** – Respeite as políticas de uso de cada site – sempre revise o arquivo `robot.txt` antes de rastrear.

## Crie um Novo Crawler

1. No seu projeto EKB, navegue até a **Knowledge Base**.
2. Na Base de Conhecimento, clique no ícone de **engrenagem** no canto superior direito.
3. Vá para a aba **Crawlers**.
4. Clique em **+ Create New**.
5. Na seção **Input**:<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-input.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=e167d3d78796e4e0ca1a3976b6f100f3" alt="Entrada do Crawler" width="1081" height="313" data-path="img/knowledge-base/crawler-input.png" />
   **a**. Insira um **nome** para o seu crawler.<br />
   **b**. Forneça a **Seed URL**, o link do website que você deseja rastrear. Este é o link inicial acessado pelo crawler. A partir dele, o crawler explora as páginas da web e links disponíveis dentro do website.
6. Na seção **Crawler Settings**:<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-settings.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=acfb255d717bc1dda72c9da1e413d45d" alt="Configurações do Crawler" width="1094" height="900" data-path="img/knowledge-base/crawler-settings.png" />
   * **Limit to Root Domain** – Configura o crawler para focar exclusivamente no domínio raiz, simplificando a extração de informações relevantes.
   * **Download Files** – Habilite esta opção quando desejar que o crawler baixe e processe arquivos encontrados durante o crawl.
   * **Max Pages to Crawl** – Defina o número máximo de páginas a rastrear, para otimizar o uso de recursos e eficiência.
   * **Max Depth** – Defina a profundidade máxima de crawl a partir da seed URL (ou seja, quantos links de profundidade seguir).
   * **Crawl Strategy** – Escolha como o crawler prioriza quais páginas visitar primeiro.
     * **Best First** – Se você selecionar esta opção, precisará configurar as palavras-chave que o crawler deve usar para encontrar essas páginas e o peso dessas palavras-chave.
       * **Keywords for Best First** – Páginas contendo as palavras-chave configuradas nesta caixa de texto serão rastreadas primeiro. Insira uma palavra-chave por linha.
       * **Keywords Weight** – Configure o peso da palavra-chave para correspondência de palavras-chave; quanto maior o valor, mais prioriza a correspondência de palavras-chave.
     * **Breadth First** – Este método prioriza visitar todas as páginas diretamente vinculadas de uma página atual antes de se aprofundar.
     * **Depth First** – Este método prioriza explorar o mais profundamente possível ao longo de um único caminho de links antes de voltar e explorar outros caminhos.
   * **Limit to Domains** – Restrinja o crawler a domínios específicos em vez de rastrear todos os subdomínios dentro do domínio raiz. Insira um domínio por linha ou deixe em branco para rastrear todos os subdomínios.
   * **Limit to Patterns** – Insira os padrões de crawl que você deseja que o crawler use. Insira um padrão de crawl por linha.<br /><Warning>Se você estiver usando múltiplos padrões de crawl, esta é a hierarquia:<br />1. Regex<br />2. Correspondências Negativas<br />3. Todos os outros padrões.</Warning>
7. Na seção **Scheduling**, defina a frequência e o horário para crawls agendados:<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-scheduling.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=777db3f60a3788d45e19144c6634e080" alt="Agendamento do Crawler" width="1063" height="330" data-path="img/knowledge-base/crawler-scheduling.png" />
   * **Crawling Enabled** – Habilite esta opção para definir o agendamento de crawl.
   * **Repeat Every n Days** – Defina o número de dias para os quais você deseja que o crawl seja executado. Por exemplo:<br />
     * **Diário** = `1`
     * **Semanal** = `7`
     * **Quinzenal** = `14`
     * **Mensal** = `30`
   * **Next Schedule** – Dependendo do número de dias inserido, você verá a próxima data de crawl.
8. Após concluir a configuração do seu web crawl, clique em **Crawl Now** para iniciar o primeiro crawl. Você será redirecionado à página de configuração do novo crawler com as seguintes abas:<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-overview.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=506fdc74fff101527f421f3fe4985d9f" alt="Visão Geral do Crawler" width="1919" height="945" data-path="img/knowledge-base/crawler-overview.png" />
   * **Overview** – Aqui você pode ver as informações e o status da solicitação de crawl.
   * **Settings** – Aqui você pode editar as configurações do crawler. Você pode editar essas configurações mesmo após um crawl ter sido executado.
   * **Crawled Report** – Esta aba fornece atualizações em tempo real sobre as páginas sendo rastreadas.

<Check>Agora seu crawler está configurado e executando seu primeiro crawl!</Check>

## Melhores Práticas

<Check>Seguir estas melhores práticas garante que seu crawler funcione de forma eficiente, evite duplicações desnecessárias e traga apenas os dados mais relevantes para sua Base de Conhecimento.</Check>

### 1. Use URLs de Origem Claras e Concisas

Escolha URLs que apontem diretamente para a seção de um website que você deseja extrair..

* **Bom Exemplo**: `https://www.example.com/news` (direciona apenas à seção "notícias")
* **Mau Exemplo**: `https://www.example.com?user=1234` (Usar parâmetros dinâmicos pode causar erros ou crawl redundante)

Sempre garanta:

* a URL está acessível e é relevante para os dados que você deseja extrair.
* use subpáginas quando quiser restringir o crawl a uma seção específica.

### 2. Restrinja a Domínios e Subdomínios

Mantenha seu crawl focado para evitar puxar dados desnecessários ou não relacionados.

* **Limit to Root Domain** – Rastrear `example.com` captura apenas esse domínio e ignora links externos (ex.: otherwebsite.com).
* **Limit to Domain** – Rastrear `blog.example.com` não incluirá outros subdomínios como `shop.example.com`.

#### Exemplo

Rastrear `https://www.bbc.com` com **Limit to Root Domain** habilitado garante que apenas o conteúdo da BBC seja incluído – não fontes de notícias externas vinculadas no site.

### 3. Use Padrões de Crawl e Processamento

Os padrões permitem ajustar o que o crawler busca e processa.

* **Crawling Patterns** – Defina quais URLs devem ser rastreadas.
* **Processing Patterns** – Especifique quais conteúdos devem ser extraídos para sua Base de Conhecimento.
  Ambos usam uma sintaxe simplificada de regex:
* **Wildcard Implícito** – Inserir `products` corresponde a qualquer URL contendo "products."
* **Negação (`!`)** – `!products` corresponde a qualquer URL *sem* "products."
* **Começa com (`^`)** – `^https://example.com/products/` corresponde a URLs começando com esse caminho.
* **Termina com (`$`)** – `products/$` corresponde a URLs terminando em "products."

#### Exemplo

* **Crawling Pattern** – `https://example.com/products/*` > rastreia todas as páginas de produtos.
* **Processing Pattern** – `https://example.com/products/*reviews` > extrai apenas avaliações das páginas de produtos.

### 4. Habilite Crawls Agendados (Quando Necessário)

Para websites dinâmicos, agende crawls para manter sua Base de Conhecimento atualizada.

#### Exemplo

Acompanhe preços de ações em `https://www.nasdaq.com` habilitando crawls diários.

### 5. Use Sitemaps para Eficiência

Se um site oferece um sitemap (ex.: \`[https://example.com/sitemap.xml](https://example.com/sitemap.xml)), aproveite-o para guiar o crawler e garantir cobertura completa.

#### Exemplo

Um site de notícias com um sitemap listando todos os artigos recentes garante que nenhum artigo seja esquecido.
