8.9 KiB
Executable File
🚗 GUIA CTF_CARSTUFF - Scraping Knowledge Base
Cliente: CTF_Carstuff
Objetivo: Construir knowledge base sobre estofamento automotivo
Sites: 18 sites + 2 subreddits Reddit
Output: /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/
⚡ EXECUÇÃO RÁPIDA
Opção 1: TODOS os sites (Recomendado para primeira execução)
cd /media/ealmeida/Dados/Dev/Scripts/scraper/
source .venv/bin/activate
python batch_scraper.py --config ctf_config.json --all
Tempo estimado: 2-4 horas Output: 200-500 páginas em Markdown
🎯 EXECUÇÃO POR PRIORIDADE
Alta Prioridade (Sites principais - Executar primeiro)
Sites incluídos:
- The Hog Ring (blog principal estofamento)
- TheSamba Main + Forum (VW clássicos)
- Portal dos Clássicos (fórum PT - mercado local)
# Criar config temporário apenas com high priority
python -c "
import json
with open('ctf_config.json') as f:
config = json.load(f)
high_priority = [s for s in config['sites'] if s.get('priority') == 'high']
config['sites'] = high_priority
with open('ctf_high_priority.json', 'w') as f:
json.dump(config, f, indent=2)
"
# Executar
python batch_scraper.py --config ctf_high_priority.json --all
Média Prioridade (Sites secundários)
Sites incluídos:
- Sailrite, Albright Supply, Relicate
- Pelican Parts Forum (Porsche)
- MG Experience, Triumph, Alfa BB Forums
- Camira Fabrics, Sunbrella
# Filtrar apenas medium priority
python batch_scraper.py --config ctf_config.json --types wordpress forum ecommerce
Baixa Prioridade (Risco anti-bot - Executar por último)
Sites incluídos:
- Cruisers Forum, Trawler Forum (marítimo)
- Vans Air Force (aviação)
- Keyston Bros, Ultrafabrics (possível anti-bot)
⚠️ ATENÇÃO: Estes sites podem falhar devido a proteções anti-bot. Solução: Executar em horário de baixo tráfego (02:00-06:00)
📊 ESTRUTURA DE OUTPUT
/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/
├── output_md/ # 📄 FASE 1: Markdown RAW (extração)
│ ├── thehogring_com/
│ ├── sailrite_com/
│ ├── reddit_Autoupholstery/
│ └── ...
│
├── output_cleaned/ # 🧹 FASE 2: Markdown LIMPO (após clean_md.py)
│ └── [mesma estrutura]
│
├── formatted/ # ✨ FASE 3: Formatado AI (após format_content.py)
│ └── [mesma estrutura]
│
└── logs/ # 📝 Logs e relatórios
├── batch_scraper_20251105_025256.log
└── batch_report_20251105_025256.json
🔄 PIPELINE COMPLETO (3 Fases)
FASE 1: Extração (Scraping)
python batch_scraper.py --config ctf_config.json --all
Output: output_md/ - Markdown bruto com todo conteúdo
FASE 2: Limpeza
python clean_md.py \
/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_md/ \
/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_cleaned/
Output: output_cleaned/ - Remove HTML residual, normaliza formatação
FASE 3: Formatação AI (Opcional)
⚠️ Requer: API key OpenRouter em .env
# Editar format_content.py para apontar para diretório CTF
# Linha ~50: INPUT_DIR = "/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_cleaned/"
# Linha ~51: OUTPUT_DIR = "/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/formatted/"
python format_content.py
Output: formatted/ - Conteúdo profissionalmente formatado
🤖 REDDIT (Opcional)
Para incluir Reddit (requer credenciais):
1. Criar credenciais Reddit
- Ir a: https://reddit.com/prefs/apps
- Clicar "create app"
- Tipo: "script"
- Redirect URI:
http://localhost:8080 - Copiar
CLIENT_IDeCLIENT_SECRET
2. Adicionar ao .env
REDDIT_CLIENT_ID=your-client-id
REDDIT_CLIENT_SECRET=your-client-secret
REDDIT_USER_AGENT=CTF_Scraper/1.0 by YourUsername
3. Executar com Reddit
# Apenas Reddit
python batch_scraper.py --config ctf_config.json --reddit-only
# Sites + Reddit
python batch_scraper.py --config ctf_config.json --all --include-reddit
Subreddits configurados:
- r/Autoupholstery
- r/upholstery
Limite: 50 posts/subreddit, ordenados por top (último ano)
📋 SITES CONFIGURADOS
🇵🇹 Sites Português (Prioridade Alta)
- Portal dos Clássicos -
https://forum.portaldosclassicos.comFórum PT sobre automóveis clássicos (mercado local)
🌐 Sites Principais (Prioridade Alta)
- The Hog Ring -
https://www.thehogring.com/Blog principal sobre estofamento automotivo - TheSamba Main -
https://thesamba.comRecurso sobre VW clássicos - TheSamba VW Forum -
https://thesamba.com/vw/forum/Fórum VW - comunidade ativa
🛒 E-commerce (Prioridade Média)
- Sailrite, Albright Supply, Relicate
- Camira Fabrics, Sunbrella (fornecedores tecidos)
💬 Fóruns Marca (Prioridade Média)
- Pelican Parts (Porsche)
- MG Experience, Triumph, Alfa BB
⚓ Marítimo/Aviação (Prioridade Baixa)
- Cruisers Forum, Trawler Forum (barcos)
- Vans Air Force (aviação)
⚠️ Anti-bot Risk (Prioridade Baixa)
- Keyston Bros, Ultrafabrics (e-commerce com proteção)
⏱️ ESTIMATIVAS DE TEMPO
| Categoria | Sites | Páginas Estimadas | Tempo |
|---|---|---|---|
| Alta prioridade | 4 sites | 100-200 páginas | 45-90min |
| Média prioridade | 9 sites | 150-250 páginas | 1.5-2.5h |
| Baixa prioridade | 5 sites | 50-100 páginas | 1-2h |
| 2 subreddits | 100 posts | 2-5min | |
| TOTAL | 18 + Reddit | 400-650 itens | 3-5h |
🔍 MONITORIZAÇÃO
Ver progresso em tempo real:
tail -f /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/logs/batch_scraper_*.log
Ver relatório final:
cat /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/logs/batch_report_*.json
Relatório inclui:
- Total sites processados
- Sites com sucesso vs falhados
- Número de páginas por site
- Erros detalhados
- Tempo total de execução
⚠️ SITES COM POSSÍVEIS PROBLEMAS
Anti-bot Forte:
- ❌ keystonbros.com - E-commerce com proteção Cloudflare
- ❌ ultrafabricsinc.com - E-commerce com verificação JS
Solução: Executar em horário baixo tráfego (madrugada)
Muito Lento/Grande:
- ⚠️ cruisersforum.com - Milhares de threads
- ⚠️ trawlerforum.com - Milhares de threads
Solução: Já configurado max_depth=1 para limitar
Requer Validação URL:
- ⚠️ Sites alemães (Autosattler.de, Lederzentrum)
- ⚠️ Sites espanhóis (Piel de Toro)
Status: Incluídos na config mas podem necessitar ajustes
🛠️ TROUBLESHOOTING
Erro: "Timeout"
# Editar ctf_config.json, aumentar timeout:
"scraper_settings": {
"request_timeout": 120 # Aumentar de 60 para 120
}
Erro: "403 Forbidden"
# Aumentar delays em ctf_config.json:
"scraper_settings": {
"politeness_delay": [5, 10] # Aumentar de [2,5] para [5,10]
}
Site específico falhando
# Remover temporariamente do ctf_config.json
# Executar restantes sites
# Tentar site problemático individualmente depois
🎯 RECOMENDAÇÕES
Primeira Execução:
- ✅ Executar apenas alta prioridade primeiro
- ✅ Validar output em
output_md/ - ✅ Se OK, executar média prioridade
- ✅ Por último, baixa prioridade (madrugada)
Execução Programada:
# Executar automaticamente todas as noites às 02:00
echo "0 2 * * * cd /media/ealmeida/Dados/Dev/Scripts/scraper && .venv/bin/python batch_scraper.py --config ctf_config.json --all" | crontab -
Backup:
# Backup periódico do knowledge base
tar -czf kb_backup_$(date +%Y%m%d).tar.gz \
/media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_md/
📞 SUPORTE
- Documentação geral:
README.md - Guia rápido:
QUICKSTART.md - Validação setup:
python validate_setup.py - Implementações:
IMPLEMENTADO.md
📈 PRÓXIMOS PASSOS
-
Executar primeira extração:
python batch_scraper.py --config ctf_config.json --all -
Validar resultados:
ls -lh /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_md/ -
Limpar conteúdo (Fase 2):
python clean_md.py [input] [output] -
Opcional: Formatar com AI (Fase 3):
python format_content.py # Após configurar paths
Status: ✅ PRONTO PARA USO Última atualização: 2025-11-05 Author: Descomplicar® Crescimento Digital Link: https://descomplicar.pt