Análisis de Competencia — Descargar Transcripciones
Análisis de Competencia — Transcripciones
Sección titulada «Análisis de Competencia — Transcripciones»Script disponible
Sección titulada «Script disponible»yt/scripts/competitor_scraper.py — descarga título, descripción, subtítulos y miniatura de cualquier video/canal/playlist de YouTube.
El problema: YouTube bloquea sin autenticación
Sección titulada «El problema: YouTube bloquea sin autenticación»YouTube pide autenticación para descargar subtítulos. La solución es pasar cookies del browser.
Lo que funciona: Safari cookies Lo que NO funciona: Chrome (JS challenge sin deno), Firefox (no instalado)
Comandos
Sección titulada «Comandos»Descargar subtítulos de un video (método directo — el que funciona)
Sección titulada «Descargar subtítulos de un video (método directo — el que funciona)»yt-dlp --cookies-from-browser safari \ --skip-download \ --write-auto-sub \ --sub-lang en \ --sub-format vtt \ -o "/tmp/competencia/%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID"Para español:
yt-dlp --cookies-from-browser safari \ --skip-download \ --write-auto-sub \ --sub-lang es \ --sub-format vtt \ -o "/tmp/competencia/%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID"Leer la transcripción limpia
Sección titulada «Leer la transcripción limpia»python3 -c "import rewith open('/tmp/competencia/VIDEO_ID.en.vtt', 'r') as f: content = f.read()lines = content.split('\n')result = []prev = ''for line in lines: line = line.strip() if not line or line == 'WEBVTT' or '-->' in line or re.match(r'^\d+$', line): continue line = re.sub(r'<[^>]+>', '', line) if line and line != prev: result.append(line) prev = lineprint('\n'.join(result))"Usando el scraper completo (CSV + subs + miniatura)
Sección titulada «Usando el scraper completo (CSV + subs + miniatura)»cd /Users/nicolasneiragarcia/NICOLASNEIRA/yt
# Un videopython3 scripts/competitor_scraper.py "URL" --out /tmp/competencia --langs en
# Varios videospython3 scripts/competitor_scraper.py "URL1" "URL2" "URL3" --out /tmp/competencia --langs en
# Canal completopython3 scripts/competitor_scraper.py "https://www.youtube.com/@canal" --out /tmp/competencia --langs es,en⚠️ El scraper no soporta
--cookies-from-browser. Para videos bloqueados usaryt-dlpdirecto (ver arriba).
Requisitos
Sección titulada «Requisitos»pip install yt-dlp pandasWorkflow de análisis
Sección titulada «Workflow de análisis»- Buscar competencia con
mcp__youtube__youtube_search(100 quota/búsqueda) - Ver métricas con
mcp__youtube__youtube_get_video(views, likes, duración) - Descargar transcripción con
yt-dlp --cookies-from-browser safari - Leer y analizar el contenido
- Documentar gaps en
brain/src/content/docs/canal/proximos-videos.md
Análisis realizados
Sección titulada «Análisis realizados»lZO3rsLkvAI — “Segundo cerebro con Claude Code” (Mar 2026)
Sección titulada «lZO3rsLkvAI — “Segundo cerebro con Claude Code” (Mar 2026)»- Canal: Bistral/Victor (agencias digitales en español)
- Vistas: ~18K en 13 días
- Conclusión: Target completamente distinto (dueños de agencias, no ingenieros). Su “segundo cerebro” = un archivo CLAUDE.md en Obsidian. Sin MCP, sin infraestructura real. El gap con nuestra propuesta es enorme.