

Localizador de estadísticas profundas para Paladins Champions of the Realm
Extrae y analiza datos de partidas desde PaladinsGuru, identifica compañeros problemáticos/exitosos, genera reportes detallados por campeón y mapa con exportación CSV y base SQLite.
Este proyecto se encuentra actualmente en desarrollo beta. Aunque es completamente funcional, pueden existir bugs menores o cambios en futuras versiones. ¡Tu feedback es muy valioso para mejorarlo!
PaladinsGuru (paladins.guru) NO me pertenece ni estoy afiliado con esta plataforma. Este script utiliza web scraping para extraer datos públicamente disponibles en su sitio web con fines de análisis personal. El proyecto respeta los términos de uso y implementa delays apropiados para no sobrecargar sus servidores.
- 🌐 PaladinsGuru: Plataforma de estadísticas de terceros para Paladins
- 🎮 Paladins: Desarrollado por Hi-Rez Studios
- 🛠️ Este proyecto: Herramienta independiente de análisis de datos
- Extracción automática de historial completo de partidas
- Procesamiento de hasta 300 páginas de historial por jugador
- Análisis detallado de estadísticas K/D/A, daño, curación, créditos
- Detección de aliados exitosos: Identifica con quién tienes mejor winrate
- Alerta de jugadores problemáticos: Detecta compañeros con historial de derrotas
- Análisis estadístico: Separa compañeros frecuentes vs ocasionales
- Score de relevancia: Combina winrate con frecuencia de juego
- Por campeón: Rendimiento específico con cada personaje
- Por mapa: Análisis de efectividad en diferentes mapas
- Tendencias temporales: Seguimiento de progreso a lo largo del tiempo
- Métricas avanzadas: KDA, CPM, daño promedio, curación
- CSV detallados: Para análisis en Excel, Google Sheets
- Base SQLite: Para consultas SQL avanzadas
- Resúmenes coloridos: Información instantánea en consola
- Timestamps únicos: Organización automática de reportes
# 1. Descargar e instalar Python desde python.org
# Asegúrate de marcar "Add Python to PATH" durante la instalación
# 2. Abrir PowerShell como administrador
Win + X → "Windows PowerShell (Admin)"
# 3. Verificar instalación de Python
python --version
# Debe mostrar: Python 3.8.x o superior
# 4. Clonar el repositorio
git clone https://github.com/tu-usuario/PaladinsGuru-Match-Analyzer.git
cd PaladinsGuru-Match-Analyzer
# 5. Instalar dependencias
pip install -r requirements.txt
# 6. Ejecutar primer análisis
python paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella" --pages 10
- Descargar Python: Ve a python.org y descarga Python 3.8+
- Descargar proyecto: Haz clic en "Code" → "Download ZIP" en GitHub
- Extraer: Descomprime en
C:\PaladinsAnalyzer\
- Abrir CMD:
Win + R
→ escribircmd
→ Enter - Navegar:
cd C:\PaladinsAnalyzer\
- Instalar:
pip install -r requirements.txt
# 1. Actualizar sistema
sudo apt update && sudo apt upgrade -y
# 2. Instalar Python y Git
sudo apt install python3 python3-pip git -y
# 3. Verificar versión de Python
python3 --version
# Debe mostrar: Python 3.8.x o superior
# 4. Clonar repositorio
git clone https://github.com/tu-usuario/PaladinsGuru-Match-Analyzer.git
cd PaladinsGuru-Match-Analyzer
# 5. Crear entorno virtual (recomendado)
python3 -m venv venv
source venv/bin/activate
# 6. Instalar dependencias
pip install -r requirements.txt
# 7. Ejecutar análisis de prueba
python3 paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella" --pages 10
# Para CentOS/RHEL
sudo yum install python3 python3-pip git -y
# Para Fedora
sudo dnf install python3 python3-pip git -y
# Continúa con los pasos 4-7 del apartado Ubuntu/Debian
# 1. Instalar Homebrew (si no lo tienes)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. Instalar Python y Git
brew install python3 git
# 3. Verificar instalación
python3 --version
# 4. Clonar y configurar proyecto
git clone https://github.com/tu-usuario/PaladinsGuru-Match-Analyzer.git
cd PaladinsGuru-Match-Analyzer
# 5. Crear entorno virtual
python3 -m venv venv
source venv/bin/activate
# 6. Instalar dependencias
pip install -r requirements.txt
# 7. Prueba inicial
python3 paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella" --pages 10
python paladins_analyzer_standalone.py --url "https://paladins.guru/profile/PLAYER_ID-NOMBRE"
# Análisis rápido (50 páginas)
python paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella" --pages 50
# Análisis completo (300 páginas por defecto)
python paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella"
# Análisis ultra-rápido para pruebas
python paladins_analyzer_standalone.py --url "https://paladins.guru/profile/725628302-katrella" --pages 10
Parámetro | Descripción | Ejemplo |
---|---|---|
--url |
[REQUERIDO] URL del perfil de PaladinsGuru | --url "https://paladins.guru/profile/123-player" |
--pages |
[OPCIONAL] Páginas de historial a analizar | --pages 100 |
- Ve a PaladinsGuru: Abre paladins.guru
- Busca el jugador: Usa la barra de búsqueda
- Abre el perfil: Haz clic en el nombre del jugador
- Copia la URL: Debe verse como:
https://paladins.guru/profile/123456789-PlayerName
Cada ejecución genera archivos únicos con timestamp:
estadisticas_detalladas_JUGADOR_20250720_191200.csv
├── Datos completos de todas las partidas analizadas
├── Información de cada jugador en cada partida
└── Métricas: K/D/A, daño, curación, créditos, mapa, fecha
relaciones_JUGADOR_20250720_191200.csv
├── Análisis de compañeros de equipo
├── Winrate con cada compañero
└── Frecuencia de juego conjunto
estadisticas_campeon_JUGADOR_20250720_191200.csv
├── Rendimiento específico por campeón
├── Promedios de K/D/A por personaje
└── Winrate con cada campeón
estadisticas_mapa_JUGADOR_20250720_191200.csv
├── Efectividad en diferentes mapas
├── Rendimiento promedio por ubicación
└── Mapas más/menos exitosos
Archivo: paladins_analisis.sqlite
Tablas creadas:
Partidas
: Información básica de cada partidaEstadisticasJugadorPartida
: Métricas detalladas por jugador/partida
Consultas SQL de ejemplo:
-- Top 10 compañeros por winrate
SELECT PlayerName, COUNT(*) as Partidas,
AVG(WonMatch) as Winrate
FROM EstadisticasJugadorPartida
WHERE MatchID IN (SELECT MatchID FROM...)
GROUP BY PlayerName
ORDER BY Winrate DESC LIMIT 10;
Ejemplo de salida:
=== COMPAÑEROS MÁS FRECUENTES (2+ partidas) PARA KATRELLA ===
TotalGames Wins Losses WinRate
TeammateID TeammateName
725628301 FoxsSlumber 22 20 2 90.9
534829475 ProPlayer 15 12 3 80.0
193847562 GoodSupport 12 10 2 83.3
=== ESTADÍSTICAS POR CAMPEÓN PARA KATRELLA ===
TotalGames Wins WinRate AvgKills AvgDeaths AvgAssists
Champion
Androxus 45 32 71.1 18.2 12.4 3.8
Cassie 38 25 65.8 16.7 11.2 4.2
Kinessa 23 17 73.9 21.3 9.8 2.1
=== RESUMEN GLOBAL PARA KATRELLA ===
Total de partidas analizadas: 156
Victorias: 98 | Derrotas: 58
Winrate: 62.8%
Promedios:
K/D/A: 17.2/11.4/4.1
KDA Ratio: 1.88
Daño: 89,234
Curación: 12,456
{
"configuracion_general": {
"retraso_entre_peticiones_seg": 0.5, // Delay entre requests
"max_paginas_historial_a_escanear": 300, // Páginas por defecto
"top_n_relaciones_a_mostrar": 24, // Compañeros a mostrar
"analizar_estadisticas_por_campeon": true, // Análisis por campeón
"analizar_estadisticas_por_mapa": true, // Análisis por mapa
"extraer_fecha_partida": true, // Incluir timestamps
"extraer_mapa_partida": true // Incluir nombres de mapas
},
"configuracion_cache": {
"habilitar_cache_partidas": false, // Cache HTML (beta)
"directorio_cache": "cache_partidas", // Carpeta de cache
"forzar_reanalisis_partidas_cacheadas": false
},
"opciones_de_salida": {
"generar_csv_estadisticas_detalladas": true, // CSV principal
"generar_csv_relaciones": true, // CSV de compañeros
"generar_csv_estadisticas_campeon": true, // CSV por campeón
"generar_csv_estadisticas_mapa": true, // CSV por mapa
"mostrar_resumen_consola_relaciones": true, // Consola colorida
"mostrar_resumen_consola_stats_campeon": true, // Stats por campeón
"mostrar_resumen_consola_stats_mapa": true, // Stats por mapa
"mostrar_resumen_consola_stats_globales": true // Resumen general
},
"base_de_datos_sqlite": {
"habilitar_sqlite": true, // Base de datos
"nombre_archivo_db": "paladins_analisis.sqlite"
},
"depuracion_y_logging": {
"nivel_de_log": "INFO", // Verbosidad
"mostrar_prints_depuracion_curacion": false // Debug avanzado
}
}
Configuración | Rápido | Balanceado | Completo |
---|---|---|---|
retraso_entre_peticiones_seg |
0.3 | 0.5 | 1.0 |
max_paginas_historial_a_escanear |
50 | 150 | 300 |
habilitar_cache_partidas |
false | false | true |
⚡ Configuración rápida: Para análisis preliminares
⚖️ Configuración balanceada: Para uso general (recomendado)
🔍 Configuración completa: Para análisis exhaustivos
# Análisis completo antes de ranked
python paladins_analyzer_standalone.py --url "TU_PERFIL" --pages 200
# Revisión rápida de últimas partidas
python paladins_analyzer_standalone.py --url "TU_PERFIL" --pages 25
Beneficios:
- Identifica compañeros que mejoran tu winrate
- Descubre tus campeones más efectivos
- Analiza mapas donde tienes mejor rendimiento
# Generar datasets completos
python paladins_analyzer_standalone.py --url "PERFIL_PROFESIONAL" --pages 300
Aplicaciones:
- Análisis estadístico en R/Python
- Machine learning sobre patrones de juego
- Investigación sobre meta de Paladins
# Análisis de jugadores sospechosos
python paladins_analyzer_standalone.py --url "PERFIL_DUDOSO" --pages 100
Detecta:
- Jugadores con patrones de abandono
- Compañeros que consistentemente causan derrotas
- Comportamientos estadísticamente anómalos
# Verifica que estés en el directorio correcto
pwd # Linux/macOS
cd # Windows
# Navega al directorio del proyecto
cd PaladinsGuru-Match-Analyzer
# Reinstalar dependencias
pip install -r requirements.txt --upgrade
# Verificar instalación
pip list | grep requests
pip list | grep pandas
Formato correcto de URL:
✅ https://paladins.guru/profile/123456789-PlayerName
❌ paladins.guru/profile/PlayerName
❌ https://paladins.guru/profile/PlayerName
(sin ID)
- Solución: Aumenta el
retraso_entre_peticiones_seg
enconfig.json
- Recomendado: Cambia de
0.3
a1.0
segundos
- Verifica: Que el perfil sea público
- Alternativa: Prueba con otro perfil conocido primero
- Posible causa: Perfil muy nuevo o sin partidas recientes
En config.json
:
"depuracion_y_logging": {
"nivel_de_log": "DEBUG",
"mostrar_prints_depuracion_curacion": true
}
# Probar conexión a PaladinsGuru
curl -I https://paladins.guru
# En Windows PowerShell:
Test-NetConnection paladins.guru -Port 443
- SO: Windows 7+, Linux (kernel 3.2+), macOS 10.12+
- Python: 3.8 o superior
- RAM: 512 MB disponibles
- Almacenamiento: 50 MB para el programa + espacio para datos
- Red: Conexión estable a Internet (para scraping)
- SO: Windows 10+, Ubuntu 18.04+, macOS 11+
- Python: 3.10 o 3.11 (mejor rendimiento)
- RAM: 2 GB disponibles (análisis de 300+ páginas)
- Almacenamiento: 500 MB (para cache y múltiples análisis)
- Red: Banda ancha (análisis más rápido)
requests>=2.31.0 # Cliente HTTP robusto
beautifulsoup4>=4.11.2 # Parser HTML eficiente
pandas>=2.0.3 # Análisis de datos
colorama>=0.4.6 # Colores en consola multiplataforma
- 🐛 Reportar bugs via GitHub Issues
- 💡 Sugerir características nuevas
- 📝 Mejorar documentación
- 🔧 Contribuir código via Pull Requests
- 🌟 Dar una estrella al repositorio
- Fork el repositorio
- Clona tu fork:
git clone https://github.com/TU_USUARIO/PaladinsGuru-Match-Analyzer.git
- Crea una rama:
git checkout -b feature/nueva-caracteristica
- Realiza cambios y commitea:
git commit -am 'Añade nueva característica'
- Push a tu fork:
git push origin feature/nueva-caracteristica
- Abre un Pull Request con descripción detallada
- Gráficos visuales: Integración con matplotlib/seaborn
- Interfaz web: Dashboard con Flask/Django
- API oficial: Integración con Hi-Rez API
- Más estadísticas: Loadouts, items, builds populares
- Notificaciones: Alertas cuando compañeros tóxicos están online
- Comparación: Herramientas para comparar múltiples jugadores
- Dependencia externa: Requiere que PaladinsGuru esté disponible
- Cambios de estructura: Updates del sitio pueden requerir actualizaciones
- Rate limiting: Velocidad limitada para respetar servidores
- Datos históricos: Solo partidas disponibles públicamente
- Respeto al servidor: Implementa delays apropiados
- Datos públicos únicamente: No accede a información privada
- Uso personal/educativo: No para fines comerciales sin permiso
- Fair play: Herramienta para mejorar, no para hacer trampas
- ✅ Funcionalidad core: Completamente operativa
⚠️ Características avanzadas: En desarrollo- 🔄 Updates frecuentes: Se añaden mejoras regularmente
- 🐛 Bug fixes: Correcciones rápidas para problemas reportados
- 🎯 Scraping completo de perfiles PaladinsGuru
- 👥 Análisis inteligente de relaciones entre jugadores
- 🛡️ Estadísticas detalladas por campeón y mapa
- 📊 Exportación múltiple (CSV + SQLite)
- 🎨 Interfaz colorida con resúmenes detallados
- ⚙️ Sistema de configuración flexible
- 🔍 Score de relevancia estadística
- 🚨 Detección de compañeros problemáticos
- Manejo robusto de errores HTTP
- Parsing resiliente de HTML
- Cache inteligente (opcional)
- Logging configurable
- Reintentos automáticos
- 📈 Gráficos de tendencias temporales
- 🌐 API REST para integraciones
- 📱 Versión web responsive
- 🤖 Integración con Discord bots
- 🎮 Soporte para API oficial de Hi-Rez
Este proyecto está licenciado bajo la MIT License, lo que significa:
- ✅ Uso comercial
- ✅ Modificación del código
- ✅ Distribución
- ✅ Uso privado
- ❗ Incluir aviso de copyright y licencia
- ❗ Proporcionar copia de la licencia MIT
- 🚫 Sin garantía o responsabilidad por daños
- 🚫 Sin soporte oficial garantizado
Texto completo en: LICENSE
- PaladinsGuru: Por proporcionar estadísticas detalladas y públicas
- Hi-Rez Studios: Creadores de Paladins Champions of the Realm
- GitHub: Plataforma de desarrollo colaborativo
- Requests: Cliente HTTP elegante
- Beautiful Soup: Parser HTML potente
- Pandas: Análisis de datos profesional
- Colorama: Colores multiplataforma
- Comunidad de Paladins: Por el feedback y testing
- Reddit r/Paladins: Por las sugerencias de características
- Streamers y creadores de contenido: Por popularizar herramientas de análisis
Al reportar un problema, incluye:
- Sistema operativo y versión de Python
- Comando exacto que causó el error
- Mensaje de error completo
- URL del perfil que estabas analizando
- Configuración en config.json (si es relevante)
Para nuevas características, describe:
- Qué problema resolvería
- Cómo te imaginas que funcionaría
- Casos de uso específicos
- Prioridad para ti como usuario
Si el proyecto te ha sido útil:
-
⭐ Dale una estrella en GitHub
-
🔄 Compártelo con otros jugadores de Paladins
-
💝 Contribuye con código o documentación
-
🐛 Reporta bugs para mejorar la calidad
🛡️ Desarrollado con ❤️ para la comunidad de Paladins ⭐ Si este proyecto te ha sido útil, considera darle una estrella ⭐ Proyecto en Beta - Actualizaciones frecuentes - Contribuciones bienvenidas