┌─────────────────────────────────────────────────────────────┐
│ SISTEMA COMPLETO │
│ │
│ INPUT: Username do Instagram │
│ ↓ │
│ FASE 1: Scraping (Apify Profile Scraper) │
│ ↓ │
│ FASE 2: Extração de Comentários (Apify Scraper) │
│ ↓ │
│ FASE 3: OCR das Imagens (Tesseract.js) │
│ ↓ │
│ FASE 4: Geração de Relatório (Markdown) │
│ ↓ │
│ OUTPUT: JSON + Relatório MD │
└─────────────────────────────────────────────────────────────┘
node scripts/complete-post-analyzer.js <username> --limit=<N>Exemplo:
node scripts/complete-post-analyzer.js rodrigogunter_ --limit=10┌──────────────────────────────────────┐
│ Actor: apify/instagram-profile- │
│ scraper │
│ │
│ INPUT: │
│ - username: "rodrigogunter_" │
│ - limit: 10 │
│ │
│ PROCESSO: │
│ 1. Acessa perfil do Instagram │
│ 2. Extrai dados do perfil │
│ 3. Extrai últimos N posts │
│ │
│ TEMPO: ~5-10 segundos │
│ CUSTO: ~$0.01 │
└──────────────────────────────────────┘
{
"perfil": {
"username": "rodrigogunter_",
"fullName": "Rodrigo Gunter",
"biography": "Ex-militar•Empresário...",
"followersCount": 56328,
"profilePicUrlHD": "https://..."
},
"posts": [
{
"id": "...",
"url": "https://instagram.com/p/...",
"caption": "Legenda completa...",
"likesCount": 4658,
"commentsCount": 86,
"images": ["url1", "url2", "..."],
"timestamp": "2025-08-19T12:09:36.000Z"
}
]
}✅ Saída: Array com 10 posts completos
┌──────────────────────────────────────┐
│ Para cada post: │
│ │
│ Actor: apify/instagram-scraper │
│ │
│ INPUT: │
│ - postUrl: "https://instagram. │
│ com/p/DNiTwMrOQDs/" │
│ - resultsType: "comments" │
│ - limit: 50 │
│ │
│ PROCESSO: │
│ 1. Acessa URL do post │
│ 2. Extrai até 50 comentários │
│ 3. Filtra spam/emojis │
│ 4. Categoriza comentários │
│ │
│ TEMPO: ~3-5 segundos/post │
│ CUSTO: ~$0.01/post │
└──────────────────────────────────────┘
COMENTÁRIOS BRUTOS (50)
↓
FILTRO DE SPAM (-15)
↓
COMENTÁRIOS RELEVANTES (35)
↓
CATEGORIZAÇÃO:
├─ ❓ Perguntas (10)
├─ 💚 Elogios (15)
├─ 🤔 Dúvidas (5)
├─ 💬 Experiências (3)
└─ 📌 Outros (2){
"comments": {
"total": 50,
"relevant": 35,
"categorized": {
"perguntas": [
{
"text": "Como faço isso?",
"ownerUsername": "usuario123",
"likesCount": 5
}
],
"elogios": [
{
"text": "Parabéns! Top demais!",
"ownerUsername": "maria_silva"
}
]
}
}
}✅ Saída: Posts + Comentários categorizados
┌──────────────────────────────────────┐
│ Para cada imagem de cada post: │
│ │
│ Biblioteca: Tesseract.js │
│ │
│ INPUT: │
│ - imageUrl: "https://scontent..." │
│ - language: "por" (português) │
│ │
│ PROCESSO: │
│ 1. Baixa imagem │
│ 2. Executa OCR (reconhecimento) │
│ 3. Extrai texto completo │
│ 4. Identifica estrutura │
│ 5. Detecta tipo de conteúdo │
│ │
│ TEMPO: ~2-3 segundos/imagem │
│ CUSTO: GRÁTIS! (local) │
└──────────────────────────────────────┘
TEXTO EXTRAÍDO BRUTO
↓
IDENTIFICAÇÃO DE ESTRUTURA
├─ Título (primeira linha)
├─ Bullets (linhas com • - 1.)
└─ CTA (última linha)
↓
DETECÇÃO DE TIPO
├─ Vendas (palavras: comprar, desconto)
├─ Educacional (palavras: aprenda, descubra)
├─ Autoridade (palavras: especialista, líder)
└─ Outros{
"ocr": {
"totalImages": 15,
"images": [
{
"imageUrl": "https://...",
"analysis": {
"texto_completo": "5 PASSOS PARA VENDER MAIS\n1. Conheça seu público\n...",
"titulo": "5 PASSOS PARA VENDER MAIS",
"bullets": [
"1. Conheça seu público",
"2. Crie oferta irresistível"
],
"cta": "Siga para mais dicas!",
"tipo": "educacional"
}
}
]
}
}✅ Saída: Posts + Comentários + OCR completo
┌──────────────────────────────────────┐
│ Processamento Final │
│ │
│ ENTRADA: │
│ - Posts completos │
│ - Comentários categorizados │
│ - OCR das imagens │
│ │
│ PROCESSO: │
│ 1. Calcula estatísticas gerais │
│ 2. Identifica top perguntas │
│ 3. Formata posts com OCR │
│ 4. Gera markdown │
│ 5. Salva JSON + MD │
│ │
│ TEMPO: ~1 segundo │
│ CUSTO: GRÁTIS │
└──────────────────────────────────────┘
# 📊 Auditoria Completa - @username
## 📈 Métricas Gerais
- Posts: 10
- Likes: 261.747
- Comentários: 81 (65 relevantes)
- Perguntas: 15
## 💬 Top Perguntas dos Comentários
1. "Como faço isso?" - @user1
2. "Qual ferramenta você usa?" - @user2
...
## 📝 Análise dos Posts
### Post 1: Sidecar
- URL: https://...
- Likes: 4658
- Comentários: 86
**Legenda:**
> Texto da legenda...
**Texto extraído (OCR):**
Slide 1:
> Texto completo do slide...
**Perguntas neste post:**
- "Como?" - @usersquad-auditores/data/{username}-complete-analysis.json
Conteúdo:
- Posts completos com todos os campos
- Comentários brutos + categorizados
- OCR de todas as imagens
- Metadados completos
Tamanho: ~500 KB - 1 MB (10 posts)
squad-auditores/output/auditoria-{username}.md
Conteúdo:
- Métricas gerais
- Top perguntas (para caixinhas)
- Análise post por post
- Texto dos slides (OCR)
- Formatado para leitura
Tamanho: ~20-30 KB
FASE 1: Scraping Posts ~10s
FASE 2: Comentários (10 posts) ~40s (4s/post)
FASE 3: OCR (50 imagens) ~120s (2.4s/imagem)
FASE 4: Relatório ~1s
────────────────────────────────────
TOTAL: ~171s (~3 minutos)
Variações:
- Mais imagens = mais tempo no OCR
- Mais comentários = mais tempo na fase 2
- Perfis grandes = mais tempo na fase 1
FASE 1: Scraping Posts $0.01
FASE 2: Comentários (10 posts) $0.10 ($0.01/post)
FASE 3: OCR $0.00 (Tesseract = GRÁTIS!)
FASE 4: Relatório $0.00
────────────────────────────────────
TOTAL: $0.11 (~R$ 0,55)
Conversão:
Custo por perfil completo (10 posts): ~R$ 0,55
# 1. Rodar análise
node scripts/complete-post-analyzer.js rodrigogunter_ --limit=10
# 2. Abrir relatório
open squad-auditores/output/auditoria-rodrigogunter_.md
# 3. Ir para seção "Top Perguntas dos Comentários"
# 4. Copiar top 10 perguntas
# 5. Criar caixinhas no Canva/StoriesTempo total: ~5 minutos
# 1. Rodar análise do concorrente
node scripts/complete-post-analyzer.js concorrente --limit=15
# 2. Analisar:
# - Estrutura dos slides (OCR)
# - Perguntas do público
# - Padrões de engajamento
# - CTAs que funcionam
# 3. Aplicar no seu conteúdoTempo total: ~10 minutos
# Analisar múltiplos perfis do nicho
node scripts/complete-post-analyzer.js perfil1 --limit=10
node scripts/complete-post-analyzer.js perfil2 --limit=10
node scripts/complete-post-analyzer.js perfil3 --limit=10
# Comparar:
# - Tipos de conteúdo (educacional vs vendas)
# - Estruturas de carrosséis
# - Perguntas recorrentes do público
# - Média de engajamentoTempo total: ~15 minutos (3 perfis)
node scripts/complete-post-analyzer.js <username> --limit=10- ✅ Faz tudo automaticamente
- ✅ Gera relatório completo
- ✅ Mais rápido e conveniente
node scripts/instagram-scraper-with-comments.js <username> --limit=20- ✅ Mais rápido (sem OCR)
- ✅ Foca em comentários
- ✅ Bom para identificar perguntas rapidamente
node scripts/ocr-image-analyzer.js <username>- ✅ Processa JSON existente
- ✅ Adiciona OCR a dados já extraídos
- ✅ Útil para reprocessar
SEGUNDA:
├─ Auditar 3 concorrentes (10 posts cada)
├─ Identificar padrões de sucesso
└─ Anotar ideias de conteúdo
TERÇA:
├─ Extrair top 20 perguntas dos concorrentes
├─ Criar lista de temas para Stories
└─ Preparar respostas
QUARTA:
├─ Analisar estruturas de carrosséis (OCR)
├─ Identificar CTAs efetivos
└─ Criar templates próprios
QUINTA:
├─ Auditar perfil próprio
├─ Comparar com concorrentes
└─ Ajustar estratégia
SEXTA:
├─ Criar caixinhas de perguntas
├─ Programar Stories
└─ Preparar conteúdo da semana
Comentários:
- Total de perguntas/semana
- Perguntas mais frequentes
- Taxa de resposta
OCR:
- Estruturas de carrosséis que funcionam
- CTAs com melhor resultado
- Tipos de conteúdo (educacional vs vendas)
Engajamento:
- Média de likes/post
- Média de comentários/post
- Taxa de crescimento
Causa: Username incorreto ou perfil privado Solução: Verificar username e se perfil é público
Causa: Post desabilitou comentários Solução: Normal, alguns posts não têm comentários
Causa: Imagem com fonte decorativa ou qualidade baixa Solução: Normal, Tesseract funciona melhor com fontes simples
Causa: Muitos posts ou imagens Solução: Reduzir --limit ou usar --skip-ocr
Antes de rodar análise:
- Verificar que Apify API token está no .env
- Confirmar que username está correto
- Decidir quantidade de posts (--limit)
- Verificar espaço em disco (~1 MB/análise)
Após análise:
- Verificar arquivos gerados (JSON + MD)
- Ler relatório markdown
- Extrair perguntas úteis
- Analisar texto dos slides (OCR)
- Aplicar insights no conteúdo
- Automatizar: Criar script para analisar múltiplos perfis
- Integrar: Conectar com banco de dados
- Agendar: Configurar análises semanais automáticas
- Visualizar: Criar dashboard com métricas
- Alertas: Notificações quando concorrente postar
apify-client- Scraping do Instagramtesseract.js- OCR gratuitodotenv- Variáveis de ambiente
scripts/complete-post-analyzer.js- Pipeline completoscripts/instagram-scraper-with-comments.js- Posts + comentáriosscripts/ocr-image-analyzer.js- OCR standalone
APIFY_API_TOKEN=apify_api_...-
Use --limit menor para testes rápidos
node scripts/complete-post-analyzer.js perfil --limit=3
-
Pule OCR se só quer comentários
node scripts/instagram-scraper-with-comments.js perfil --limit=10
-
Analise concorrentes regularmente
- Semanal: concorrentes diretos
- Mensal: perfis aspiracionais
-
Use perguntas extraídas para conteúdo
- Caixinhas de perguntas
- Posts de FAQ
- Stories interativos
-
Compare estruturas de carrosséis (OCR)
- Títulos que funcionam
- Quantidade ideal de slides
- CTAs efetivos
Sistema 100% funcional e pronto para produção! 🎉