Web Scraper - Extração e Monitoramento de Dados Web
Visão Geral
O Web Scraper é uma ferramenta poderosa do Lumina Flow Builder para extrair, monitorar e processar dados de websites automaticamente. Com 5 operações especializadas, você pode coletar informações de qualquer site de forma ética e eficiente.
🎯 Operações Disponíveis
1. SCRAPE - Extração Automática de Dados
O que faz: Extrai dados automaticamente de websites usando inteligência para identificar conteúdo principal.
Use quando: - Precisa extrair conteúdo sem saber a estrutura HTML - Quer coletar texto, links, imagens e metadados - Deseja extração rápida sem configurar seletores CSS
Exemplo:
{
"operation": "scrape",
"url": "https://www.bbc.com/news",
"mode": "auto",
"extractText": true,
"extractLinks": true,
"extractImages": true
}
Casos de uso: - Monitoramento de notícias e artigos - Agregação de conteúdo de blogs - Coleta de informações de páginas desconhecidas - Enriquecimento de dados com informações web
2. EXTRACT - Extração Manual com Seletores CSS
O que faz: Extrai dados específicos usando seletores CSS personalizados para precisão cirúrgica.
Use quando: - Conhece a estrutura HTML do site - Precisa extrair campos específicos (preço, título, autor) - Quer criar objetos JSON estruturados - Necessita máxima precisão na extração
Exemplo:
{
"operation": "extract",
"url": "https://www.amazon.com.br/dp/B08N5WRWNW",
"mode": "manual",
"selectors": {
"titulo": "#productTitle",
"preco": ".a-price-whole",
"avaliacao": ".a-icon-alt"
}
}
Casos de uso: - Scraping de e-commerce (produtos, preços) - Extração de vagas de emprego - Coleta de dados tabulares - Comparação de preços entre lojas
3. CRAWL - Navegação por Múltiplas Páginas
O que faz: Navega automaticamente por paginação, coletando dados de dezenas ou centenas de páginas sequencialmente.
Use quando: - Precisa extrair dados de múltiplas páginas - Site tem paginação (next/prev, números) - Quer coletar catálogo completo - Necessita processar grandes volumes de páginas
Exemplo:
{
"operation": "crawl",
"url": "https://store.com/produtos?page=1",
"mode": "template",
"template": "ecommerce",
"maxPages": 30,
"followPagination": true,
"paginationSelector": "a.next-page",
"delay": 3000
}
Casos de uso: - Catálogo completo de produtos - Arquivo histórico de blog - Listagens de imóveis/vagas - Resultados de pesquisa (Google, portais)
4. SCREENSHOT - Captura Visual de Páginas
O que faz: Captura screenshots (imagens) de páginas web para documentação e arquivamento visual.
Use quando: - Precisa de evidência visual de uma página - Quer monitorar mudanças de layout - Necessita documentar estado de um site - Deseja arquivar versões visuais
Exemplo:
{
"operation": "screenshot",
"url": "https://example.com",
"screenshot": true,
"saveHtml": true,
"includeMetadata": true
}
Casos de uso: - Compliance e auditoria legal - Monitoramento visual de concorrentes - Documentação de bugs - Testes de renderização - Arquivo histórico visual
5. MONITOR - Monitoramento Inteligente de Mudanças
O que faz: Monitora páginas periodicamente e detecta mudanças automaticamente, alertando quando algo importante muda.
Use quando: - Precisa saber quando uma página muda - Quer alertas de mudanças de preço - Deseja detectar novas vagas/produtos - Necessita rastrear atualizações de conteúdo
Exemplo:
{
"operation": "monitor",
"url": "https://www.amazon.com.br/dp/B08N5WRWNW",
"mode": "manual",
"selectors": { "preco": ".a-price-whole" },
"monitorInterval": 30,
"changeThreshold": 0.01,
"ignoreSelectors": [".timestamp", ".ad"]
}
Casos de uso: - Monitor de preços e promoções - Alertas de novas vagas de emprego - Disponibilidade de produtos esgotados - Mudanças em termos legais - Atualizações de blogs/notícias
🚀 Recursos Avançados
Templates Pré-configurados
Extraia dados sem configurar seletores: - ecommerce: Produtos (título, preço, avaliação, estoque) - news: Notícias (título, autor, data, conteúdo) - blog: Posts (título, autor, data, conteúdo, tags)
Ética e Compliance
- robots.txt: Respeita regras de scraping do site
- Rate limiting: Delays configuráveis entre requisições
- User-Agent: Identificação transparente
- Timeouts: Limites de tempo para evitar sobrecarga
Processamento Inteligente
- Limpeza de texto: Normalização automática
- Conversão de URLs: Relativas → Absolutas
- Metadados: Open Graph, Twitter Cards, Schema.org
- Múltiplos formatos: JSON, CSV, XML, HTML, TEXT
Tratamento de Erros
- Retry automático: Tentativas em caso de falha
- Ignorar erros: Continuar mesmo se páginas falharem
- Logging detalhado: Rastreamento de problemas
📊 Matriz de Decisão
| Preciso de... | Use esta operação |
|---|---|
| Extrair uma página sem saber estrutura | SCRAPE |
| Extrair campos específicos com precisão | EXTRACT |
| Processar múltiplas páginas com paginação | CRAWL |
| Capturar imagem visual da página | SCREENSHOT |
| Detectar quando página muda | MONITOR |
⚡ Quick Start
Exemplo 1: Extração Simples de Notícia
{
"operation": "scrape",
"url": "https://www.bbc.com/news/technology",
"mode": "auto",
"extractText": true,
"cleanText": true
}
Exemplo 2: Monitorar Preço
{
"operation": "monitor",
"url": "https://www.amazon.com.br/dp/PRODUTO",
"mode": "manual",
"selectors": { "preco": ".a-price-whole" },
"monitorInterval": 30
}
Exemplo 3: Coletar Catálogo Completo
{
"operation": "crawl",
"url": "https://store.com/categoria?page=1",
"mode": "template",
"template": "ecommerce",
"maxPages": 20,
"followPagination": true,
"paginationSelector": "a[rel='next']"
}
🔗 Integrações Comuns
Web Scraper + AI
Extraia dados e processe com IA para estruturar ou resumir:
SCRAPE → AI (análise) → MESSAGE (resultado)
Web Scraper + Schedule
Monitore páginas automaticamente:
SCHEDULE → MONITOR → CONDITION → ALERT
Web Scraper + Database
Colete e armazene dados:
CRAWL → LOOP → DATABASE (insert)
Web Scraper + S3
Backup de screenshots:
SCREENSHOT → S3 (upload) → DATABASE (metadata)
📖 Documentação Completa
Cada operação tem documentação detalhada com: - ✅ Explicação completa de funcionamento interno - ✅ Todos os parâmetros com exemplos de flows testáveis - ✅ 3+ exemplos práticos completos com JSON importável - ✅ Boas práticas e anti-padrões - ✅ Dicas avançadas de uso - ✅ Código TypeScript real da implementação
Leia a documentação completa: 1. SCRAPE - Extração Automática 2. EXTRACT - Extração Manual 3. CRAWL - Navegação Múltiplas Páginas 4. SCREENSHOT - Captura Visual 5. MONITOR - Monitoramento de Mudanças
⚠️ Importante: Uso Ético
Sempre:
- ✅ Respeite robots.txt (respectRobots: true)
- ✅ Use delays adequados (delay: 2000 mínimo)
- ✅ Identifique seu bot (userAgent: "LuminaBot/1.0")
- ✅ Respeite termos de serviço dos sites
- ✅ Use APIs oficiais quando disponíveis
Nunca: - ❌ Sobrecargue servidores com requisições rápidas demais - ❌ Ignore avisos de robots.txt - ❌ Colete dados pessoais sem consentimento (LGPD) - ❌ Use para fins ilegais ou não autorizados - ❌ Burle sistemas de proteção (CAPTCHA, rate limiting)
🎓 Aprenda Mais
- Seletores CSS: MDN CSS Selectors
- robots.txt: Robots.txt Specification
- Web Scraping Legal: Legal Considerations
- LGPD: Lei Geral de Proteção de Dados
🆘 Troubleshooting
Problema: "Não consegue extrair dados"
Solução: Use DevTools (F12) para inspecionar elementos e validar seletores CSS.
Problema: "Site bloqueia requisições"
Solução: Aumente delay, configure userAgent apropriado, respeite robots.txt.
Problema: "Conteúdo JavaScript não carrega"
Solução: Use waitForJS: true ou considere ferramentas com browser real (Puppeteer).
Problema: "Mudanças irrelevantes disparam alertas"
Solução: Configure ignoreSelectors e changeThreshold no MONITOR.
Desenvolvido com ❤️ pela equipe Lumina
Arquivo: /home/zielinski/develop/gptapi/docs/nodes/web-scraper/README.md
Última atualização: 2025-10-13