Files
scripts/scraper/CTF_CARSTUFF_GUIDE.md

332 lines
8.9 KiB
Markdown
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)**
```bash
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)
```bash
# 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
```bash
# 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)**
```bash
python batch_scraper.py --config ctf_config.json --all
```
**Output**: `output_md/` - Markdown bruto com todo conteúdo
### **FASE 2: Limpeza**
```bash
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`
```bash
# 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**
1. Ir a: https://reddit.com/prefs/apps
2. Clicar "create app"
3. Tipo: "script"
4. Redirect URI: `http://localhost:8080`
5. Copiar `CLIENT_ID` e `CLIENT_SECRET`
### **2. Adicionar ao `.env`**
```bash
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**
```bash
# 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.com`
Fó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.com`
Recurso 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 |
| **Reddit** | 2 subreddits | 100 posts | 2-5min |
| **TOTAL** | 18 + Reddit | 400-650 itens | 3-5h |
---
## 🔍 MONITORIZAÇÃO
### **Ver progresso em tempo real**:
```bash
tail -f /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/logs/batch_scraper_*.log
```
### **Ver relatório final**:
```bash
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"**
```bash
# Editar ctf_config.json, aumentar timeout:
"scraper_settings": {
"request_timeout": 120 # Aumentar de 60 para 120
}
```
### **Erro: "403 Forbidden"**
```bash
# Aumentar delays em ctf_config.json:
"scraper_settings": {
"politeness_delay": [5, 10] # Aumentar de [2,5] para [5,10]
}
```
### **Site específico falhando**
```bash
# Remover temporariamente do ctf_config.json
# Executar restantes sites
# Tentar site problemático individualmente depois
```
---
## 🎯 RECOMENDAÇÕES
### **Primeira Execução**:
1. ✅ Executar **apenas alta prioridade** primeiro
2. ✅ Validar output em `output_md/`
3. ✅ Se OK, executar **média prioridade**
4. ✅ Por último, **baixa prioridade** (madrugada)
### **Execução Programada**:
```bash
# 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**:
```bash
# 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
1. **Executar primeira extração**:
```bash
python batch_scraper.py --config ctf_config.json --all
```
2. **Validar resultados**:
```bash
ls -lh /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/output_md/
```
3. **Limpar conteúdo** (Fase 2):
```bash
python clean_md.py [input] [output]
```
4. **Opcional: Formatar com AI** (Fase 3):
```bash
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