⚡ Versión web funcionando 24/7 en Render.com
Herramienta profesional de QA para auditar sitios web y detectar enlaces rotos
Automatizado
Reportes
Testing
Script de Python profesional para realizar auditorías de calidad en sitios web, detectando automáticamente enlaces rotos, URLs con errores y problemas de navegación que afectan la experiencia del usuario y el SEO.
Genera reportes detallados en formato CSV/Excel listos para presentar a equipos de desarrollo, con información completa de status codes, URLs problemáticas y diagnósticos técnicos.
Extrae y verifica todos los enlaces de una página web automáticamente, sin intervención manual.
Comprueba códigos HTTP (200, 404, 500, etc.) y detecta timeouts, errores SSL y problemas de conexión.
Feedback visual en tiempo real: verde para enlaces OK, rojo para errores, fácil de interpretar.
Genera reportes profesionales en CSV con URL origen, enlaces rotos y códigos de error.
Simula navegador real para evitar bloqueos de bots y acceder a sitios protegidos.
Gestión inteligente de errores, timeouts y excepciones para auditorías confiables.
Lenguaje principal para lógica de escaneo, manejo de errores y procesamiento de datos.
Parsing de HTML y extracción inteligente de todos los elementos de tipo enlace.
Librería HTTP para verificación de enlaces con manejo de headers y timeouts.
Generación de reportes estructurados en formato CSV/Excel para análisis.
El script genera un archivo reporte_errores.csv con las siguientes columnas:
El script utiliza tecnologías de scraping y validación HTTP para realizar auditorías completas de enlaces:
1. Configuración de Headers:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
Simula un navegador real para evitar bloqueos anti-bot.
2. Obtención del HTML:
response = requests.get(url_objetivo, headers=headers, timeout=10)
soup = BeautifulSoup(response.content, 'html.parser')
Descarga la página y parsea el HTML con BeautifulSoup.
3. Extracción de Enlaces:
enlaces = soup.find_all('a', href=True)
for enlace in enlaces:
url_completa = urljoin(url_objetivo, enlace['href'])
Encuentra todos los elementos <a> y construye URLs absolutas.
4. Verificación Individual:
try:
r = requests.head(url, timeout=5)
if r.status_code == 200:
print(f"{Fore.GREEN}✓ OK - {url}")
else:
print(f"{Fore.RED}✗ ERROR {r.status_code}")
enlaces_rotos.append(url)
except requests.exceptions.Timeout:
print(f"{Fore.RED}✗ TIMEOUT - {url}")
enlaces_rotos.append(url)
Verifica cada enlace y captura errores HTTP, timeouts y problemas SSL.
5. Generación de Reporte:
df = pd.DataFrame({
'URL_Origen': [url_objetivo] * len(enlaces_rotos),
'Link_Roto': enlaces_rotos,
'Status_Code': status_codes
})
df.to_csv('reporte_errores.csv', index=False)
Crea un DataFrame con Pandas y exporta a CSV para análisis.
Primero, instala las librerías necesarias:
pip install requests beautifulsoup4 colorama pandas
requests: Para hacer peticiones HTTP
beautifulsoup4: Para parsear HTML
colorama: Para colores en consola
pandas: Para generar reportes CSV
Ejecuta el script desde la terminal:
python broken_link_checker.py
El script te pedirá la URL a auditar:
Ingresa la URL del sitio web a auditar: https://ejemplo.com
Verás el progreso en tiempo real con colores:
🔍 Iniciando escaneo en: https://ejemplo.com...
✓ OK (200) - https://ejemplo.com/about
✓ OK (200) - https://ejemplo.com/contact
✗ ERROR (404) - https://ejemplo.com/old-page
✗ TIMEOUT - https://ejemplo.com/slow-server
✓ OK (200) - https://ejemplo.com/services
📊 Escaneo completado: 2 enlaces rotos encontrados
💾 Reporte guardado: reporte_errores.csv
El archivo reporte_errores.csv contiene:
| URL_Origen | Link_Roto | Status_Code |
|---|---|---|
| https://ejemplo.com | https://ejemplo.com/old-page | 404 |
| https://ejemplo.com | https://ejemplo.com/slow-server | TIMEOUT |
Puedes abrir este archivo en Excel, Google Sheets o cualquier editor de CSV para análisis detallado.
Para subir el proyecto a GitHub:
# Inicializa el repositorio Git
git init
# Añade todos los archivos
git add .
# Crea el primer commit
git commit -m "Añadido Exterminador de Enlaces Rotos - Herramienta QA"
# Conecta con tu repositorio remoto
git remote add origin https://github.com/FerDVaz09/broken-link-checker.git
# Sube los cambios
git push -u origin main
Estructura de archivos recomendada:
broken-link-checker/
├── broken_link_checker.py
├── requirements.txt
├── README.md
├── .gitignore
└── reporte_errores.csv (generado al ejecutar)
Puedo desarrollar herramientas personalizadas de testing y automatización QA para tus proyectos web.
Testing profesional que encuentra errores antes que tus usuarios.