init: scripts diversos (crawlers, conversores, scrapers)

This commit is contained in:
2026-03-05 20:38:36 +00:00
commit 6ac6f4be2a
925 changed files with 850330 additions and 0 deletions

199
scraper/deploy_vps_batch4.sh Executable file
View File

@@ -0,0 +1,199 @@
#!/bin/bash
# deploy_vps_batch4.sh - Deploy automático Batch 4 para VPS
#
# Author: Descomplicar® Crescimento Digital
# Link: https://descomplicar.pt
# Copyright: 2025 Descomplicar®
set -e # Exit on error
echo "=========================================="
echo "CTF BATCH 4 - DEPLOY VPS"
echo "Descomplicar® Crescimento Digital"
echo "=========================================="
echo ""
# Configurações
VPS_HOST="easy.descomplicar.pt"
VPS_PORT="22"
VPS_USER="root"
VPS_PATH="/root/scraper-ctf"
LOCAL_DIR="/media/ealmeida/Dados/Dev/Scripts/scraper"
# Cores
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Funções
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
log_warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
# 1. Validar ficheiros locais
log_info "Validando ficheiros locais..."
REQUIRED_FILES=(
"batch_scraper_v2_batch4.py"
"ctf_config_batch4.json"
"scraper.py"
"requirements.txt"
)
for file in "${REQUIRED_FILES[@]}"; do
if [ ! -f "$LOCAL_DIR/$file" ]; then
log_error "Ficheiro não encontrado: $file"
exit 1
fi
log_info "$file"
done
# 2. Testar conectividade VPS
log_info "Testando conectividade VPS..."
if ssh -p $VPS_PORT -o ConnectTimeout=10 $VPS_USER@$VPS_HOST "echo 'OK'" > /dev/null 2>&1; then
log_info "✓ VPS acessível"
else
log_error "VPS não acessível. Verificar SSH/firewall."
exit 1
fi
# 3. Criar diretório remoto
log_info "Criando diretório no VPS..."
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST "mkdir -p $VPS_PATH"
# 4. Transferir ficheiros
log_info "Transferindo ficheiros..."
scp -P $VPS_PORT \
"$LOCAL_DIR/batch_scraper_v2_batch4.py" \
"$LOCAL_DIR/ctf_config_batch4.json" \
"$LOCAL_DIR/scraper.py" \
"$LOCAL_DIR/requirements.txt" \
$VPS_USER@$VPS_HOST:$VPS_PATH/
log_info "✓ Ficheiros transferidos"
# 5. Setup ambiente Python no VPS
log_info "Configurando ambiente Python no VPS..."
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
cd /root/scraper-ctf
# Verificar Python 3
if ! command -v python3 &> /dev/null; then
echo "Python3 não encontrado. Instalar:"
echo " apt update && apt install -y python3 python3-pip python3-venv"
exit 1
fi
# Criar venv
if [ ! -d "venv" ]; then
python3 -m venv venv
echo "✓ Virtual environment criado"
fi
# Ativar venv e instalar dependências
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
# Instalar Playwright
playwright install chromium
playwright install-deps chromium
echo "✓ Dependências instaladas"
ENDSSH
log_info "✓ Ambiente Python configurado"
# 6. Criar script de execução remoto
log_info "Criando script de execução..."
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
cat > /root/scraper-ctf/run_batch4.sh << 'EOF'
#!/bin/bash
# Script execução Batch 4
# Author: Descomplicar® Crescimento Digital
cd /root/scraper-ctf
source venv/bin/activate
echo "=========================================="
echo "CTF BATCH 4 SCRAPER - INICIANDO"
echo "Hora início: $(date)"
echo "=========================================="
echo ""
# Executar scraper
python3 batch_scraper_v2_batch4.py --config ctf_config_batch4.json
echo ""
echo "=========================================="
echo "SCRAPING CONCLUÍDO"
echo "Hora fim: $(date)"
echo "=========================================="
# Compactar resultados
tar -czf results_batch4_$(date +%Y%m%d_%H%M%S).tar.gz \
/root/scraper-ctf/output_md_batch4/ \
/root/scraper-ctf/logs/
echo "✓ Resultados compactados"
EOF
chmod +x /root/scraper-ctf/run_batch4.sh
echo "✓ Script execução criado"
ENDSSH
log_info "✓ Script execução criado"
# 7. Verificação final
log_info "Verificação final..."
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
cd /root/scraper-ctf
echo "Ficheiros no VPS:"
ls -lh
echo ""
echo "Python version:"
source venv/bin/activate
python3 --version
echo ""
echo "Packages instalados:"
pip list | grep -E "(playwright|beautifulsoup|requests)"
ENDSSH
# 8. Instruções finais
echo ""
echo "=========================================="
log_info "DEPLOY CONCLUÍDO!"
echo "=========================================="
echo ""
echo "PRÓXIMOS PASSOS:"
echo ""
echo "1. Ligar ao VPS:"
echo " ssh -p $VPS_PORT $VPS_USER@$VPS_HOST"
echo ""
echo "2. Ir para diretório:"
echo " cd $VPS_PATH"
echo ""
echo "3. EXECUTAR BATCH 4:"
echo " nohup ./run_batch4.sh > execution.log 2>&1 &"
echo ""
echo "4. Monitorizar execução:"
echo " tail -f execution.log"
echo ""
echo "5. Ver progresso logs:"
echo " tail -f /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/logs/batch4_execution_*.log"
echo ""
echo "6. DESCARREGAR RESULTADOS (após concluir):"
echo " scp -P $VPS_PORT $VPS_USER@$VPS_HOST:$VPS_PATH/results_batch4_*.tar.gz ."
echo ""
echo "ESTIMATIVA: 48-60 horas execução"
echo "=========================================="