Files
navegator/examples/youtube_comments_NOTA.md
T
Developer 3253828fef
Tests / Lint (push) Has been cancelled
Tests / Unit Tests (push) Has been cancelled
Tests / E2E Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Initial commit: navegator - Chrome CDP automation for LLMs
Add complete navegator system for stealthy browser automation:
- CDP client with WebSocket communication
- Browser API with navigation, storage, network, runtime
- Stealth flags and anti-detection scripts
- Persistent profile support
- Examples and comprehensive documentation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-24 23:33:07 +01:00

2.5 KiB

⚠️ NOTA IMPORTANTE - YouTube y Modo Headless

Problema Detectado

YouTube detecta el modo headless y no carga los comentarios cuando el navegador está en ese modo, incluso con todas las flags stealth activadas.

Resultados de Testing

Modo Visible (funciona)

go run examples/youtube_comments.go -visible -n 5

Resultado: Extrae comentarios exitosamente

Modo Headless (no funciona)

go run examples/youtube_comments.go -n 5

Resultado: No encuentra comentarios (YouTube los bloquea)

Soluciones

Opción 1: Usar Modo Visible (Recomendado para YouTube)

config.StealthFlags.Headless = false
config.StealthFlags.WindowSize = [2]int{600, 400} // Ventana pequeña

Opción 2: Usar Xvfb (Linux) para simular display

# Instalar Xvfb
sudo apt-get install xvfb

# Ejecutar con display virtual
xvfb-run -a go run examples/youtube_comments.go

Opción 3: Ajustar el Script para Usar Selector de Comments Button

En lugar de scrollear directamente a los comentarios, podemos hacer click en el botón de comentarios primero:

// Click en el botón/section de comentarios
document.querySelector('#comments')?.scrollIntoView();

Opción 4: Usar API de YouTube (Alternativa)

Si necesitas headless absoluto, considera usar la YouTube Data API v3 en lugar de scraping.

Por Qué Sucede

YouTube usa múltiples técnicas de detección:

  1. Verifica navigator.webdriver (ya lo manejamos con stealth)
  2. Detecta características ausentes en headless Chrome
  3. Analiza patrones de comportamiento del usuario
  4. Puede usar WebGL fingerprinting
  5. Detecta ausencia de interacción humana

Recomendación Final

Para este caso de uso específico (extracción de comentarios de YouTube):

  • Desarrollo/Testing: Usar -visible con ventana pequeña
  • Producción: Usar Xvfb o un servidor con display virtual
  • Alternativa: Considerar YouTube Data API para uso a escala

Estado Actual del Código

El código está configurado para:

  • Headless por defecto
  • Ventana pequeña (600x400)
  • Cierre explícito del navegador
  • Flags stealth optimizadas
  • ⚠️ Pero YouTube bloquea comentarios en headless

Próximos Pasos Sugeridos

  1. Agregar flag --force-display que use Xvfb automáticamente
  2. Implementar detector de "comentarios bloqueados" y reintento en modo visible
  3. Agregar opción de usar YouTube Data API como fallback
  4. Investigar si headless=new de Chrome evita la detección