Skip to content

Latest commit

 

History

History
589 lines (472 loc) · 15.1 KB

File metadata and controls

589 lines (472 loc) · 15.1 KB

🔄 FLUXO COMPLETO DO SISTEMA DE ANÁLISE DO INSTAGRAM

📋 VISÃO GERAL

┌─────────────────────────────────────────────────────────────┐
│                    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                                │
└─────────────────────────────────────────────────────────────┘

🚀 COMANDO PRINCIPAL

node scripts/complete-post-analyzer.js <username> --limit=<N>

Exemplo:

node scripts/complete-post-analyzer.js rodrigogunter_ --limit=10

📊 FASE 1: SCRAPING DE POSTS

O que acontece:

┌──────────────────────────────────────┐
│  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                       │
└──────────────────────────────────────┘

Dados extraídos:

{
  "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


💬 FASE 2: EXTRAÇÃO DE COMENTÁRIOS

O que acontece:

┌──────────────────────────────────────┐
│  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                  │
└──────────────────────────────────────┘

Categorização automática:

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)

Exemplo de categorização:

{
  "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


🔍 FASE 3: OCR DAS IMAGENS

O que acontece:

┌──────────────────────────────────────┐
│  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)              │
└──────────────────────────────────────┘

Processamento do texto:

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

Exemplo de OCR:

{
  "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


📄 FASE 4: GERAÇÃO DE RELATÓRIO

O que acontece:

┌──────────────────────────────────────┐
│  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                       │
└──────────────────────────────────────┘

Estrutura do relatório:

# 📊 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?" - @user

📁 ARQUIVOS GERADOS

1. JSON Completo

squad-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)

2. Relatório Markdown

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


⏱️ TEMPO TOTAL POR ANÁLISE

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

💰 CUSTO POR ANÁLISE

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: $1 USD ≈ R$ 5,00

Custo por perfil completo (10 posts): ~R$ 0,55


🎯 CASOS DE USO

1. Criar Caixinhas de Perguntas

# 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/Stories

Tempo total: ~5 minutos


2. Auditar Concorrente

# 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údo

Tempo total: ~10 minutos


3. Análise de Mercado

# 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 engajamento

Tempo total: ~15 minutos (3 perfis)


🔧 SCRIPTS DISPONÍVEIS

1. Pipeline Completo (Recomendado)

node scripts/complete-post-analyzer.js <username> --limit=10
  • ✅ Faz tudo automaticamente
  • ✅ Gera relatório completo
  • ✅ Mais rápido e conveniente

2. Apenas Posts + Comentários

node scripts/instagram-scraper-with-comments.js <username> --limit=20
  • ✅ Mais rápido (sem OCR)
  • ✅ Foca em comentários
  • ✅ Bom para identificar perguntas rapidamente

3. Apenas OCR

node scripts/ocr-image-analyzer.js <username>
  • ✅ Processa JSON existente
  • ✅ Adiciona OCR a dados já extraídos
  • ✅ Útil para reprocessar

🎯 FLUXO RECOMENDADO DE TRABALHO

Workflow Semanal:

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

📊 MÉTRICAS DE SUCESSO

O que acompanhar:

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

🐛 TROUBLESHOOTING

Problema: "Page Not Found"

Causa: Username incorreto ou perfil privado Solução: Verificar username e se perfil é público

Problema: "Comentários vazios"

Causa: Post desabilitou comentários Solução: Normal, alguns posts não têm comentários

Problema: "OCR com caracteres estranhos"

Causa: Imagem com fonte decorativa ou qualidade baixa Solução: Normal, Tesseract funciona melhor com fontes simples

Problema: "Timeout"

Causa: Muitos posts ou imagens Solução: Reduzir --limit ou usar --skip-ocr


✅ CHECKLIST DE USO

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

🚀 PRÓXIMOS PASSOS

  1. Automatizar: Criar script para analisar múltiplos perfis
  2. Integrar: Conectar com banco de dados
  3. Agendar: Configurar análises semanais automáticas
  4. Visualizar: Criar dashboard com métricas
  5. Alertas: Notificações quando concorrente postar

📚 DOCUMENTAÇÃO TÉCNICA

Dependências:

  • apify-client - Scraping do Instagram
  • tesseract.js - OCR gratuito
  • dotenv - Variáveis de ambiente

Arquivos principais:

  • scripts/complete-post-analyzer.js - Pipeline completo
  • scripts/instagram-scraper-with-comments.js - Posts + comentários
  • scripts/ocr-image-analyzer.js - OCR standalone

Configuração (.env):

APIFY_API_TOKEN=apify_api_...

💡 DICAS PRO

  1. Use --limit menor para testes rápidos

    node scripts/complete-post-analyzer.js perfil --limit=3
  2. Pule OCR se só quer comentários

    node scripts/instagram-scraper-with-comments.js perfil --limit=10
  3. Analise concorrentes regularmente

    • Semanal: concorrentes diretos
    • Mensal: perfis aspiracionais
  4. Use perguntas extraídas para conteúdo

    • Caixinhas de perguntas
    • Posts de FAQ
    • Stories interativos
  5. Compare estruturas de carrosséis (OCR)

    • Títulos que funcionam
    • Quantidade ideal de slides
    • CTAs efetivos

Sistema 100% funcional e pronto para produção! 🎉