# Monitoramento de site

> Rastreie um site em intervalos programados e detecte mudanças em todas as páginas descobertas

import CreateCrawlCURL from "/snippets/pt-BR/v2/monitor/create/crawl/curl.mdx";
import CreateCrawlNode from "/snippets/pt-BR/v2/monitor/create/crawl/js.mdx";
import CreateCrawlPython from "/snippets/pt-BR/v2/monitor/create/crawl/python.mdx";
import TargetCrawl from "/snippets/pt-BR/v2/monitor/target/crawl.mdx";

O monitoramento de site acompanha um site inteiro em vez de uma lista fixa de URLs. Cada verificação executa um rastreamento para a `url` de alvo, faz scraping de cada página descoberta e compara o resultado com o último snapshot armazenado. Isso detecta páginas adicionadas, alteradas e removidas, não apenas edições em páginas que você já definiu. É a escolha certa para sites de documentação, blogs, changelogs, centrais de ajuda e sites de concorrentes.

Esta página aborda o alvo `crawl`. Agendamento, objetivos e avaliação, acompanhamento de alterações, notificações e preços são compartilhados entre todos os tipos de monitor. Veja a [visão geral do monitoramento](/pt-BR/features/monitoring).

<div id="create-a-website-monitor">
  ## Crie um monitor de site
</div>

Crie um monitor com um alvo `crawl` para gerar um diff de cada página descoberta por um rastreamento a cada verificação:

<CodeGroup>
  <CreateCrawlPython />

  <CreateCrawlNode />

  <CreateCrawlCURL />
</CodeGroup>

<div id="crawl-target">
  ## Alvo de rastreamento
</div>

Um alvo `crawl` requer `type` e uma única `url`. Use `crawlOptions` para definir o comportamento do rastreamento e `scrapeOptions` para definir como cada página descoberta é extraída:

<TargetCrawl />

Campos comuns de `crawlOptions`:

* `limit`: Número máximo de páginas que uma verificação pode rastrear.
* `maxDiscoveryDepth`: Quantos níveis de links, a partir da `url` inicial, devem ser explorados para descobrir páginas.
* `maxDepth`: Profundidade máxima de rastreamento.
* `includePaths`: Monitore apenas URLs que correspondam a estes padrões de caminho (por exemplo, `/docs`).
* `excludePaths`: Ignore URLs que correspondam a estes padrões de caminho.

Assim como nos monitores de página, os scrapes acionados pelo monitor usam `maxAge` como `0` por padrão, então cada verificação refaz o scraping das páginas descobertas, a menos que você defina um `maxAge` diferente em `scrapeOptions`.

<div id="what-each-check-reports">
  ## O que cada verificação informa
</div>

Uma verificação de rastreamento compara cada página descoberta com a verificação anterior e registra um status por página:

* `same`: A página foi descoberta novamente e não mudou.
* `changed`: A página foi descoberta novamente e mudou.
* `new`: A página foi descoberta pela primeira vez.
* `removed`: Uma página da verificação anterior não foi mais descoberta.
* `error`: Não foi possível verificar a página.

Para emitir alertas sobre campos estruturados específicos nas páginas rastreadas, adicione um formato `changeTracking` a `scrapeOptions`. Veja [Rastreamento de mudanças](/pt-BR/features/monitoring#change-tracking).

<div id="shared-configuration">
  ## Configuração compartilhada
</div>

* [Agendamentos](/pt-BR/features/monitoring#schedules): cron ou cadência em linguagem natural, com mínimo de 5 minutos.
* [Objetivos e avaliação](/pt-BR/features/monitoring#goals-and-judging): alertas apenas para mudanças significativas.
* [Notificações](/pt-BR/features/monitoring#notifications): envio por webhook e email.
* [Resultados das verificações](/pt-BR/features/monitoring#check-results): inspecione cada verificação e seus diffs por página.
* [Preços](/pt-BR/features/monitoring#pricing): 1 crédito por página descoberta em cada verificação, além da avaliação opcional.
