Uma gerente de vendas de uma empresa de material hospitalar em Konya começa todas as manhãs atualizando a página de licitações de uma prefeitura metropolitana e os avisos de compra de dois hospitais. Numa sexta-feira, um aviso é publicado às 17h40, e ela só o vê na terça. O prazo que sobra é curto demais para preparar a proposta. Na mesma semana, o time jurídico descobre que um fornecedor de software mudou os termos de uso sem avisar, mas só fica sabendo quando chega a nova fatura.
Os dois problemas têm a mesma solução: uma ferramenta que acompanha a página e avisa você quando ela muda. Este guia mostra como o monitoramento funciona, qual comparação usar, como acabar com os alertas falsos, com que frequência verificar, onde o monitor deve rodar e quando um proxy entra na configuração. O acompanhamento de preços e estoque tem um guia próprio: Como monitorar preços da concorrência no e-commerce.
O que é monitoramento de alterações em sites e para que serve?
Monitoramento de alterações em sites significa que um programa abre uma página em horários definidos, guarda uma cópia e avisa você quando a nova cópia é diferente da anterior. Ele substitui a atualização manual, que falha numa sexta à noite ou num feriado.
Os alvos úteis muitas vezes não são preços: avisos de licitação para uma empresa que vende ao setor público, os termos de uso de um fornecedor para o time jurídico, uma página de vagas para o RH, notas de versão para a TI. Verificar se um site está no ar ou fora do ar é outra tarefa, o monitoramento de disponibilidade (uptime): este guia trata do que a página diz, não de se ela carrega.
Como funciona o monitoramento de alterações em sites, passo a passo?
Toda ferramenta executa os mesmos sete passos a cada verificação:
- Endereço e ponto de vista. Você informa a URL. Algumas ferramentas também deixam você escolher o país de onde a verificação parte.
- Carregamento da página. Uma requisição HTTP simples baixa o HTML. Páginas que montam o conteúdo com JavaScript precisam de um navegador real; caso contrário, o monitor vê só um esqueleto vazio (Páginas estáticas e dinâmicas no web scraping).
- Escolha da parte a monitorar. Você aponta uma seção, como a tabela de avisos. As ferramentas sem código deixam você clicar nela; por baixo, isso vira um seletor CSS ou uma expressão XPath (Seletor CSS ou XPath).
- Limpeza do texto. Os espaços extras são removidos, e datas ou contadores são descartados se você definir uma regra para eles.
- Comparação. O texto limpo é comparado linha a linha com a cópia anterior.
- Filtragem. Regras decidem se a diferença merece um alerta, por exemplo só linhas adicionadas ou linhas com uma palavra-chave.
- Alerta e registro. A ferramenta envia a diferença e guarda a nova cópia no histórico.
O passo 2 pode ser mais leve. Um servidor pode marcar uma página com um ETag ou uma data Last-Modified. Um cliente que devolve esses valores pergunta se a página mudou e, se ela não mudou, o servidor responde 304 Not Modified sem o corpo da página. O MDN explica as requisições condicionais, e as regras estão na RFC 9110.
Dois atalhos vêm antes de tudo: um feed RSS, se o site tiver um, e as datas lastmod do sitemap, que mostram quais páginas mudaram (Como encontrar o sitemap de um site).
Qual é a diferença entre comparação de texto, de elemento e visual?
A comparação de texto olha as palavras da página, linha a linha. É a que gera menos ruído e a que fica mais fácil de ler num alerta. Ela não percebe mudanças de design: uma nova imagem de banner não muda nenhum texto.
A comparação de elemento acompanha uma parte da página, como a lista de licitações abertas, e ignora o resto. O ponto fraco é o seletor: depois de um redesenho, o elemento pode ganhar um nome novo e o monitor não encontra nada.
A comparação visual compara capturas de tela pixel a pixel. Ela detecta um logotipo novo ou um layout alterado, mas é a opção com mais ruído e sempre precisa de um navegador real, então é a que mais pesa sobre o site.
Uma página de termos pede comparação de texto, uma lista de licitações pede comparação de elemento e um banner de campanha pede comparação visual. Se um fornecedor troca "rescisão com aviso prévio de 30 dias" por "15 dias", a comparação de texto mostra exatamente essa linha.
Serviço em nuvem, extensão de navegador ou servidor próprio?
Quem procura uma "alternativa ao Visualping" muitas vezes está perguntando onde o monitor deve rodar. Dados verificados em setembro de 2026; os planos mudam.
| Caminho | Exemplo | Onde roda | Qual IP o site vê | Intervalo mínimo | Proxy | Indicado para |
|---|---|---|---|---|---|---|
| Extensão de navegador | Monitor local do Distill | No seu navegador, que fica aberto | O seu próprio IP | 5 segundos | Sem suporte | Uma pessoa, poucas páginas |
| Serviço em nuvem | Visualping, nuvem do Distill | Nos servidores do serviço | O IP do serviço (Visualping: Califórnia por padrão) | 2 minutos nos planos mais altos | Pela lista de locais do serviço | Equipes que não querem instalar nada |
| Servidor próprio | changedetection.io no Docker | No seu servidor | O IP do servidor ou o do seu proxy | Você decide | Por monitor, no proxies.json | Muitas páginas, dados dentro da empresa, suporte de TI |
O Distill tem dois modos. A documentação dele diz que os monitores locais fazem a verificação no seu navegador, podem rodar a cada 5 segundos e não aceitam proxies, enquanto os monitores em nuvem continuam funcionando com o computador desligado e aceitam proxies.
O Visualping é um serviço em nuvem. Por padrão, ele verifica a partir de um IP dos EUA (Califórnia), e cada tarefa pode escolher outro local no menu "Check from", como explica a central de ajuda dele. Em setembro de 2026, Türkiye não estava nessa lista, o que importa se você precisa da versão turca de uma página.
O changedetection.io é um software de código aberto sob a licença Apache 2.0. Você o roda com Docker, abre no navegador na porta 5000, e todas as cópias ficam na sua máquina. A versão 0.60.7 saiu em 17 de setembro de 2026; o repositório do projeto traz o comando de instalação. A mesma equipe também vende uma versão hospedada.
Como evitar alertas falsos causados por datas, anúncios e códigos de sessão?
Um monitor que dispara a cada verificação acaba sendo ignorado. O ruído costuma vir de:
- Linhas como "Atualizado há 3 minutos" e contadores de visitantes
- Banners rotativos, anúncios e avisos de cookies
- Tokens de segurança e IDs de sessão no HTML, novos a cada visita
- Testes A/B e caixas de "recomendados para você"
- Listas que voltam em outra ordem
A primeira correção é o escopo. Monitore só a seção que importa e compare o texto dela, não o HTML: os códigos de sessão ficam no HTML, então uma comparação de HTML vê uma mudança toda vez. Numa lista de licitações, monitore os títulos dos avisos, não a coluna com a data de hoje.
A segunda correção são as regras. No changedetection.io, elas ficam em Edit > Filters & Triggers. "Ignore lines containing" descarta as linhas que batem com uma palavra ou uma expressão regular, como um padrão de data. "Keyword triggers - Trigger/wait for text" só dispara o alerta quando aparece uma palavra como "licitação". Em Text filtering, você pode manter só "Added lines", e "Only trigger when unique lines appear in all history" fica em silêncio quando o conteúdo antigo apenas muda de lugar. O tutorial oficial mostra essas opções.
Com que frequência verificar e como manter baixa a carga sobre o site?
Ajuste o intervalo à frequência com que a página realmente muda e ao custo de um alerta atrasado. Uma página de termos precisa de uma verificação por dia; uma lista de licitações, de uma por hora no horário comercial. O guia de monitoramento de preços tem uma seção detalhada sobre como escolher a frequência de verificação.
Uma requisição simples baixa um arquivo HTML; um navegador também carrega imagens, scripts e fontes, muitas vezes dezenas de requisições por verificação. Use o navegador só onde for preciso e:
- Acrescente um pequeno atraso aleatório aos horários de verificação, para que os monitores não cheguem ao mesmo site ao mesmo tempo.
- No changedetection.io,
reuse_time_minimumnoproxies.jsondefine quantos segundos precisam passar antes que um proxy seja usado de novo. - Leia o robots.txt do site. A RFC 9309 diz que as regras dele não são uma autorização de acesso, mas pede aos crawlers que as respeitem.
Se o site responder 403 ou 429, reduza a frequência, volte para uma requisição simples, fale com o dono ou pare de monitorar essa página. O significado dos códigos está em Códigos de status HTTP no web scraping. Trocar de proxy até um passar não é solução.
Por que usar um proxy no monitoramento de alterações em sites?
Há dois motivos honestos.
A página muda conforme o país. Um site pode mostrar outro idioma, outra campanha ou outro texto de termos para visitantes de Türkiye, da Alemanha ou dos EUA. Um monitor na Califórnia pode acompanhar a versão americana enquanto você precisa da turca. Como os sites adivinham o seu país está em Por que meu IP mostra outra localização?, e o mesmo efeito na busca, em Como pesquisar no Google como se estivesse em outro país.
O IP do escritório não deve carregar os monitores. Se um site limita a taxa do IP do escritório por causa de dezenas de monitores, os colegas que navegam nele também ficam mais lentos. Um IP de saída próprio para os monitores separa as duas coisas; ele não aumenta o limite que o site define.
Para uma visão estável a partir de um país, os Proxies ISP dão um endereço fixo, e os Proxies de sessão fixa mantêm um IP por 1-60 minutos. Para ver uma página como os usuários domésticos de um país a veem, use os Proxies residenciais (como usar um proxy residencial). Páginas públicas de governo muitas vezes não precisam de proxy, ou um de datacenter basta (Diferença entre proxy residencial e datacenter). Aqui, o proxy mostra a versão certa de uma página; não é uma forma de se esconder do site.
Avançado: um proxy por monitor no changedetection.io
Se todos os monitores compartilham um proxy, defina HTTP_PROXY e HTTPS_PROXY, como em Uso de proxy com o wget; essas variáveis valem para o fetcher de requisições simples, e o fetcher com navegador lê playwright_proxy_server. Para dar a cada monitor o seu próprio país, crie o proxies.json na pasta de dados (datastore), como descreve a wiki de configuração de proxy:
{
"tr": {
"label": "Türkiye",
"url": "http://user-country-tr:pass@pr.proxynet.io:8000",
"reuse_time_minimum": 300
},
"de": {
"label": "Germany",
"url": "http://user-country-de:pass@pr.proxynet.io:8000",
"reuse_time_minimum": 300
}
}label é o nome que a interface mostra, e url é o endereço do proxy. A parte -country-tr do nome de usuário define o país; copie o nome de usuário exato de cada país no painel da Proxynet. O app acrescenta sozinho a opção "No proxy".
Depois, abra um monitor, vá em Edit > Request, escolha "Türkiye" ou "Germany" em "Proxy" e salve. O arquivo é lido a cada carregamento de página, então não é preciso reiniciar; se as entradas não aparecerem, procure um erro de digitação no JSON. Você também pode adicionar proxies em Settings > CAPTCHA & Proxies. Endereços SOCKS5 começam com socks5://, mas a interface avisa que SOCKS5 com nome de usuário e senha só funciona com o fetcher de requisições simples; para o fetcher com navegador, use o endereço HTTP ou libere o IP do seu servidor no painel.
Para confirmar que funciona, monitore uma página que mostra o seu IP e o seu país, uma vez com "Türkiye" e outra com "No proxy" (Seu proxy está funcionando?).
Casos de uso
- Licitações e avisos públicos: monitores em páginas de compras públicas e de editais (web crawler).
- Termos e políticas da concorrência: política de devolução, termos de uso e páginas de campanha (proteção de marca).
- Mudanças no mercado: produtos novos e textos alterados em todo um setor (pesquisa de mercado).
- Preços e estoque: uma tarefa à parte; veja monitoramento de preços.
- Alertas para outros sistemas: envie cada mudança para um chamado, uma planilha ou uma sala de chat (Web scraping com n8n).
- Limites legais: o que você pode coletar depende do país e dos dados (Web scraping é legal?).
Erros comuns
- Monitorar a página inteira. Cada data e cada banner vira um alerta.
- Comparar HTML em vez de texto. Os códigos de sessão mudam a cada visita, então os alertas nunca param.
- Monitorar uma página de JavaScript com uma requisição simples. O monitor compara dois esqueletos vazios.
- Verificar a cada minuto. A maioria das páginas muda poucas vezes por semana.
- Ignorar um
403ou429, ou forçar a passagem com proxies novos. Os dois significam que o site quer que você diminua o ritmo ou pare. - Verificar do país errado. Você acompanha a versão americana enquanto os seus clientes veem a turca.
- Mandar todo alerta para todo mundo. Envie os alertas de cada monitor para a pessoa que vai agir sobre eles.
Guia de decisão
| Necessidade | Recomendação |
|---|---|
| Poucas páginas, o seu computador fica ligado o dia todo | Extensão de navegador (monitor local do Distill); escolha uma seção e compare o texto |
| Monitoramento 24/7, sem instalar nada | Um serviço em nuvem; confira se ele oferece o seu país |
| Dezenas ou centenas de páginas, dados dentro da empresa | changedetection.io no seu próprio servidor, com Docker |
| A página muda conforme o país | Um proxy de país por monitor (proxies.json); ISP estático ou residencial com sessão fixa |
| Alertas falsos a cada verificação | Escolha uma seção, compare o texto, ignore as linhas de data e alerte só sobre linhas adicionadas |
| Conteúdo em JavaScript, o monitor vê uma página vazia | Um fetcher com navegador, com frequência menor |
O site responde 403 ou 429 | Verifique com menos frequência, leia o robots.txt, fale com o dono ou pare; não tente contornar |
Perguntas frequentes
O que o Distill Web Monitor faz?
Ele acompanha uma página, ou parte dela, e avisa você quando ela muda. Os monitores locais rodam no seu navegador, que precisa ficar aberto; os monitores criados pelo aplicativo web dele rodam na nuvem do Distill.
Como receber um aviso quando um site muda?
Configure um monitor na página e conecte um canal de alerta. A maioria das ferramentas envia e-mail e também pode postar no Slack, no Telegram ou em um webhook. O changedetection.io usa a biblioteca Apprise e lista mais de 85 tipos de notificação.
Dá para monitorar alterações em um site de graça?
Sim. Os monitores locais do Distill e um changedetection.io auto-hospedado não custam nada além do seu próprio hardware. Os planos gratuitos em nuvem limitam quantas páginas você monitora e com que frequência elas são verificadas.
Devo usar um proxy gratuito com o changedetection.io?
Não. Um proxy gratuito faz passar cada página que você monitora, e muitas vezes os seus dados de login, pelo servidor de um desconhecido. Os riscos estão em Proxies gratuitos e sites de web proxy são seguros?.
Por que o changedetection.io mostra um erro 403?
O site recusou a requisição, muitas vezes porque o monitor verifica com frequência demais ou porque o site não quer visitas automatizadas naquela página. Reduza a frequência, leia o robots.txt e os termos e fale com o dono. Se a resposta continuar a mesma, pare o monitor.
Dá para ver o histórico de alterações de uma página?
Um monitor guarda cada cópia a partir do dia em que você o configura. Para versões mais antigas, a Wayback Machine do Internet Archive muitas vezes tem capturas.
Em resumo
O monitoramento de alterações em sites funciona quando você acompanha a parte certa de uma página. Escolha a seção que importa, compare o texto dela, ignore datas e contadores e alerte só sobre linhas novas. Verifique com a frequência com que a página realmente muda e escolha o caminho pelo número de páginas e pelo lugar onde os dados devem ficar. Quando o país importa, dê a cada monitor o seu próprio proxy; a nossa página de serviços de proxy mostra as opções.




