

# Cómo comprobar si un tutorial de programación de YouTube sigue funcionando

Para comprobar si un tutorial antiguo de YouTube sirve para tu versión del software, anota la versión que indica y los pasos exactos que muestra. Compara esos pasos con la documentación oficial de tu versión. Después, prueba un ejemplo inocuo en tu propio ordenador. Guarda los resultados en una tabla de versiones y pasos. Mantén visibles las instrucciones modificadas y los pasos sin resolver antes de seguir el tutorial completo.

Empieza por el vídeo, tu software y la documentación oficial. Puedes comprobar un tutorial corto a mano. Los subtítulos con marcas de tiempo pueden ayudarte a encontrar instrucciones en un vídeo más largo. No pueden confirmar el código que aparece en pantalla ni demostrar que funciona.

El resultado es una tabla que indica qué has comprobado, qué ha cambiado y qué necesita aún pruebas que lo respalden. Te ayuda a decidir sobre una tarea del tutorial en una configuración concreta.

## 1. Define la tarea y anota ambas versiones

Elige un resultado que quieras obtener del tutorial. Por ejemplo, podrías querer eliminar un prefijo exacto de un texto. Un prefijo es un texto situado al principio de otro texto más largo.

Limita la tarea para que puedas comprobarla. «¿Funciona esta operación con texto?» permite definir una prueba clara. «¿Sigue siendo bueno este curso de programación?» no.

Una [pregunta pública sobre programación](https://www.reddit.com/r/learnprogramming/comments/1gz6km5) plantea: «¿Puedo aprender a programar solo con vídeos de YouTube y mucha práctica?». La información aportada indica que las respuestas mencionan versiones de software desactualizadas. Es un motivo útil para comprobar la configuración antes de practicar. Esta única pregunta no permite medir cuántos estudiantes tienen el problema.

Anota estos datos antes de copiar una instrucción:

1. El título del tutorial y la URL del vídeo.
2. La fecha de publicación, si se conoce.
3. El nombre y la versión del software que indica el tutorial.
4. Dónde indica el tutorial esa versión.
5. La versión del software que vas a usar realmente.
6. La fecha en que haces la comprobación.
7. El resultado concreto que quieres reproducir.

Un entorno es la configuración del software con la que trabajas. Incluye otros datos de configuración cuando afecten al paso elegido. Por ejemplo, anota la versión de una herramienta necesaria si el tutorial la menciona.

Mantén separadas la fecha de publicación y la versión del software. Que un vídeo se haya subido hace poco no demuestra que sus instrucciones correspondan a tu versión. Que se haya subido hace mucho no demuestra que todas sus instrucciones hayan dejado de funcionar.

Si el tutorial no indica una versión, escribe «desconocida». No la deduzcas por su antigüedad o su aspecto. Si no puedes confirmar tu propia versión, resuelve esa falta de información antes de afirmar que las versiones coinciden.

## 2. Localiza cada instrucción y mira la pantalla

Mira la parte que realiza la tarea elegida. Haz una pausa en cada acción necesaria. Copia exactamente la instrucción visible antes de proponer un cambio.

Un subtítulo es un fragmento de texto guardado junto con un vídeo. Una transcripción reúne el texto de los subtítulos. Un segmento con marcas de tiempo es un fragmento de subtítulo con un tiempo de inicio y otro de fin.

Usa los subtítulos para localizar los pasajes que puedan contener la instrucción. Después, mira esos pasajes. La persona que habla puede decir «ejecuta esto» mientras la pantalla muestra el único comando completo. Los subtítulos también pueden contener un nombre de software incorrecto u omitir una acción realizada en silencio.

Si el vídeo es largo, usa el método de búsqueda centrada en un objetivo de [cómo encontrar un concepto en una clase larga](/es/articles/encontrar-un-concepto-en-una-clase-larga-de-youtube/). Aquí, el objetivo es encontrar la instrucción que debes verificar. No necesitas crear un índice de toda la lección.

Para cada paso necesario:

1. Guarda el momento del vídeo en que aparece la instrucción.
2. Lee el código, la opción de menú o el ajuste que aparece en pantalla.
3. Anota cualquier configuración que se muestre justo antes.
4. Conserva la instrucción original.
5. Marca el texto que no esté claro como pendiente de resolver.

No trates las palabras habladas como código extraído. La herramienta de subtítulos que se describe a continuación no realiza reconocimiento óptico de caracteres. Este término significa leer texto de una imagen. Debes examinar la pantalla tú mismo.

Un comentario que diga «funcionó» puede sugerir algo que comprobar. No demuestra compatibilidad. Compatibilidad significa que una instrucción funciona con la versión de software pertinente. El comentario puede no indicar esa versión ni los pasos exactos que se siguieron.

Si un comentario informa de que falta un botón o aparece un error, compáralo con el pasaje real antes de usarlo como prueba. El método de [cómo contrastar un comentario con un pasaje del tutorial](/es/articles/detectar-carencias-en-tutoriales-con-comentarios-de-youtube/) explica esa comprobación por separado. Conserva el comentario como una pista hasta que confirmes su configuración y su pertinencia.

## 3. Usa subtítulos con marcas de tiempo cuando sean útiles

[YouTube Transcript Scraper](https://apify.com/chronometrica/youtube-transcript-scraper) es un Actor: un programa alojado en un servidor que recopila datos. Su función documentada aquí es leer subtítulos públicos existentes. Tú sigues siendo quien identifica las instrucciones, examina la pantalla, lee la documentación oficial y evalúa la prueba.

La especificación pública comprobada el 25 de octubre de 2026 describe la compilación 0.1.43. Acepta URL directas de vídeos públicos de YouTube o identificadores de vídeo. Un identificador es el código corto que identifica un vídeo. No acepta un canal, una lista de reproducción ni una página de búsqueda como lista de fuentes. Lee pistas de subtítulos existentes; no genera texto nuevo a partir del habla ni descarga audio o vídeo.

La [Task pública de transcripción con marcas de tiempo](https://apify.com/chronometrica/youtube-transcript-scraper/examples/youtube-timestamped-transcript-json) es una configuración predefinida para empezar. Una Task es un conjunto guardado de valores de entrada. Su página pública y su identificador de Task se localizaron el 25 de octubre de 2026. Esa comprobación no examinó los datos de entrada guardados que requieren autenticación ni probó la ejecución.

Este pequeño conjunto de datos de entrada superó la comprobación del esquema aportada. Un esquema define los campos y valores de entrada permitidos. Superar una comprobación del esquema no equivale a completar una ejecución de recopilación con éxito.

```json
{"includeFailedInputDetails":true,"outputFormats":["json"],"preferredLanguages":[],"startUrls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}
```

3. Usa subtítulos con marcas de tiempo cuando sean útiles

Antes de ejecutarlo:

1. Sustituye toda la lista de ejemplo de `startUrls` por la URL del tutorial público que quieras comprobar.
2. Mantén `outputFormats` en `["json"]` para solicitar segmentos con marcas de tiempo.
3. Elige el criterio de selección del idioma de los subtítulos.
4. Mantén `includeFailedInputDetails` en verdadero para que las entradas fallidas sigan visibles en el informe de ejecución.

La URL de ejemplo sirve para ilustrar el esquema. No demuestra que se haya obtenido un resultado útil de un tutorial. No se ejecutó el Actor para esta guía.

Una lista `preferredLanguages` vacía solicita la mejor pista de subtítulos disponible. No garantiza que esté en inglés. Si defines preferencias de idioma, el Actor las intenta en orden. Si ninguna está disponible, el resultado documentado es un fallo con una categoría que indica que el idioma no está disponible. Esto significa que el fallo tiene una categoría explícita, en vez de cambiar a otro idioma sin avisar.

El límite de entrada documentado es de 1 a 1.000 entradas. Los identificadores de vídeo repetidos se procesan una sola vez. Para esta comprobación, usa un tutorial.

Tras realizar la ejecución propuesta, examina el resultado antes de usar el texto. Una fila del conjunto de datos es un resultado guardado de un vídeo. Cada vídeo único procesado con éxito genera una fila. Las entradas fallidas aparecen en el informe de ejecución llamado OUTPUT.

Conserva la identidad del vídeo, `status`, `statusReason`, `transcriptLanguageCode`, `isAutoGenerated` y `scrapedAt`. El último campo registra el momento de la recopilación. Conserva los `segments` originales, incluidos `text`, `startSeconds`, `endSeconds` y `durationSeconds`.

Usa los tiempos devueltos para localizar el pasaje. El texto sin formato, por sí solo, no permite establecer los tiempos de fin de los subtítulos. Una duración ausente sigue siendo desconocida, aunque haya un tiempo de fin disponible. No sustituyas un valor ausente por cero.

Las etiquetas de idioma, las etiquetas de origen de los subtítulos y los valores de cobertura no demuestran que las palabras sean correctas. Mira el pasaje pertinente en todos los casos.

Los subtítulos son datos de una fuente pública. Tus datos de entrada guardados, los registros privados de ejecución, el registro de tu versión local y los resultados de las pruebas son registros separados. Una página pública de configuración predefinida no demuestra qué guardó o ejecutó el propietario de una cuenta.

## 4. Crea una tabla de versiones y pasos

Una tabla de versiones y pasos vincula cada instrucción con su fuente, su referencia oficial y el resultado de su prueba. Usa una fila por cada paso necesario. Divide una fila cuando dos acciones necesiten comprobaciones distintas.

Guarda estos campos:

| Campo | Qué guardar |
| --- | --- |
| Tarea | El resultado concreto que quieres obtener |
| Fuente del vídeo | Título y URL pública |
| Localización en la fuente | Momento del vídeo y segmento de subtítulos pertinente, si está disponible |
| Instrucción original | Código, opción o acción exactos que aparecen en pantalla |
| Versión del tutorial | Versión indicada y dónde la encontraste, o desconocida |
| Entorno local | Tu versión real del software y la configuración pertinente |
| Referencia oficial | URL de la página, versiones que abarca y pasaje pertinente |
| Fecha de consulta de la referencia | Cuándo leíste esa página |
| Cambio propuesto | Tu instrucción de sustitución, separada de la original |
| Entrada de la prueba | Entrada exacta e inocua, si se probó |
| Resultado esperado | Qué debería ocurrir y por qué |
| Resultado real | Salida o error exactos observados, o sin probar |
| Fecha de la prueba | Cuándo se realizó la prueba, o sin probar |
| Estado | Comprobado, cambio documentado, sin probar o bloqueado |
| Cuestión pendiente | Pruebas que faltan y siguiente comprobación necesaria |

Conserva los errores con el mismo cuidado que las salidas correctas. No sustituyas un error por el resultado que esperabas.

Usa «desconocido» cuando falte un dato. Usa cero solo cuando cero sea el valor real conocido. «No hay ninguna prueba registrada» no significa «cero fallos». Significa que no tienes resultados de pruebas para esa fila.

Guarda las instrucciones originales y las propuestas en campos separados. De lo contrario, quien las lea después no podrá ver qué cambió ni por qué.

## 5. Lee la referencia oficial de la función y la versión

Abre la documentación oficial de la función exacta. Una función es una capacidad o un comportamiento del software. Comprueba qué versión del software abarca la página.

Lee la descripción del comportamiento y las notas sobre cuándo se introdujo, modificó o eliminó la función. Guarda el pasaje pertinente y la fecha en que lo comprobaste.

Sigue esta secuencia:

1. Comprueba que el nombre exacto de la función corresponda a la instrucción visible.
2. Confirma la versión que abarca la referencia.
3. Lee cuál es el comportamiento esperado.
4. Consulta las notas de versión.
5. Compara las versiones que abarca la referencia con tu versión local.
6. Anota cualquier falta de información que quede.

Una página de documentación actual puede indicar cuándo se añadió una función. Eso no la convierte en una prueba de todos los comportamientos en todas las versiones anteriores. Si la página no abarca la versión que necesitas, deja esa parte sin resolver hasta que tengas una referencia oficial pertinente.

No deduzcas que una función no está disponible porque no hayas encontrado su documentación. Anota la búsqueda fallida como una falta de información en las fuentes.

La [referencia oficial de cadenas de Python](https://docs.python.org/3/builtins/stdtypes.html#str.removeprefix) ofrece un ejemplo claro. `str.removeprefix` elimina el prefijo exacto indicado cuando aparece al principio. En caso contrario, devuelve la cadena sin cambios. La referencia indica que se añadió en Python 3.9.

La misma información aportada de la referencia distingue `lstrip`: elimina los caracteres iniciales que pertenecen a un conjunto indicado. No es una sustitución equivalente a eliminar un prefijo exacto. Que los nombres sean similares o que una entrada produzca resultados similares no demuestra que el comportamiento sea el mismo.

## 6. Elige una prueba inocua con un resultado claro

Una prueba de reproducibilidad comprueba si puedes obtener un resultado indicado a partir de unas entradas indicadas en un entorno indicado.

Elige la prueba más pequeña que responda a la pregunta sobre la función. Da preferencia a una operación que solo trabaje con valores locales y no tenga efectos externos. Escribe el resultado esperado antes de ejecutarla.

Para esta primera comprobación, evita las instalaciones sin revisar, la creación de cuentas, las credenciales, los sistemas de producción y los comandos copiados sin revisión. Las credenciales son datos secretos que se usan para obtener acceso. Un sistema de producción es un sistema que se usa para trabajo real.

Anota la entrada exacta, la salida esperada, la salida real, la versión local y la fecha de la prueba. Si la prueba falla, conserva el error exacto y detén ese paso. No hagas varios cambios sin explicar para después registrar solo el éxito final.

Una prueba inocua de una función tiene un objetivo limitado. Puede confirmar una operación en tu entorno. No puede demostrar que se instale un proyecto completo, que funcionen todos los pasos del tutorial ni que otras versiones del software se comporten igual.

## 7. Ejemplo resuelto: eliminación de un prefijo exacto

Este ejemplo usa el registro aportado de una prueba local. No es una ficción original. Tampoco es una prueba de un tutorial real de YouTube.

El entorno registrado era Python 3.12.12. La fecha de comprobación fue el 25 de octubre de 2026. La prueba solo usó expresiones locales con cadenas de la biblioteca estándar. La biblioteca estándar es el conjunto de herramientas que se incluye con Python. Esta prueba no incluyó instalaciones, acceso a la red ni la ejecución de un tutorial.

La tarea consiste en eliminar el prefijo exacto de una cadena. Una cadena es un valor de texto.

Primera expresión:

```python
"Arthur: three!".removeprefix("Arthur: ")
```

7. Ejemplo resuelto: eliminación de un prefijo exacto

El resultado esperado era `three!`. El resultado real registrado fue `three!`.

El prefijo contiene ocho caracteres: seis letras, un signo de dos puntos y un espacio. El texto original contiene 14 caracteres. Al eliminar ese prefijo quedan 14 − 8 = 6 caracteres: las cinco letras de `three` y el signo de exclamación. Estas unidades son caracteres, no bytes.

Segunda expresión:

```python
"Arthur: three!".lstrip("Arthur: ")
```

7. Ejemplo resuelto: eliminación de un prefijo exacto

El resultado esperado era `ee!`. El resultado real registrado fue `ee!`.

Aquí, `lstrip` trata el texto indicado como un conjunto de caracteres que debe eliminar del principio. Después de eliminar `Arthur: `, continúa con los caracteres iniciales `t`, `h` y `r` de `three!`. Esos caracteres también pertenecen al conjunto indicado. Se detiene en `e`.

Esto elimina los ocho caracteres del prefijo y tres caracteres más. El cálculo es 14 − 8 − 3 = 3 caracteres. El texto restante es `ee!`.

| Comprobación | Pruebas registradas | Límite |
| --- | --- | --- |
| Versión local | Python 3.12.12 | No describe otro entorno |
| Nota oficial de versión | `str.removeprefix` se añadió en Python 3.9 | No demuestra todos los comportamientos de las versiones posteriores |
| Prueba del prefijo exacto | Esperado: `three!`; real: `three!` | Comprueba solo esta expresión y esta entrada |
| Prueba de los caracteres iniciales | Esperado: `ee!`; real: `ee!` | Muestra por qué esta expresión no es una sustitución equivalente |
| Versión del tutorial y localización en la fuente | Desconocidas; no se probó ningún tutorial | No se puede marcar ningún paso del tutorial como comprobado |
| Proceso completo | Sin probar | No se afirma que el tutorial completo funcione |

La decisión que permiten tomar estas pruebas es limitada. Usa la eliminación de un prefijo exacto cuando esa sea la operación de texto deseada y la versión la admita. No la sustituyas por `lstrip` como si ambas hicieran lo mismo.

Para tu tutorial, añade la instrucción real que aparece en pantalla y el momento en que se muestra. Después, realiza tu propia prueba inocua en la versión que hayas indicado. El resultado aportado es una prueba sobre Python 3.12.12, no un resultado de tu ordenador.

## 8. Asigna un estado y decide con qué puedes continuar

Usa los mismos cuatro estados en toda la tabla:

| Estado | Significado | Siguiente decisión |
| --- | --- | --- |
| Comprobado | Has examinado la instrucción y confirmado la prueba elegida en el entorno indicado | Continúa dentro de los límites de lo que has probado |
| Cambio documentado | La referencia oficial respalda una diferencia pertinente entre versiones | Conserva el original, propón un cambio y anota si lo has probado |
| Sin probar | No has realizado la prueba necesaria | Haz la prueba antes de afirmar que funciona en tu entorno local |
| Bloqueado | La falta de pruebas o una acción necesaria que no es segura impiden la comprobación | Resuelve lo que falta antes de seguir ese paso |

Un cambio documentado no es automáticamente una corrección probada. Guarda el resultado de su prueba en los campos de resultados separados. Si necesitas una instrucción nueva, asígnale su propia fila para que las pruebas que la respaldan queden claras.

Si no hay subtítulos disponibles, aún puedes examinar el vídeo a mano. Si no se puede leer la pantalla, deja la instrucción exacta sin resolver. Si desconoces tu versión, averíguala antes de afirmar que hay compatibilidad. Si la referencia oficial no abarca lo que necesitas, conserva el registro de esa falta de información en las fuentes.

Antes de seguir el tutorial completo, comprueba todas las filas necesarias. Cada fila necesita pruebas que respalden la acción que piensas realizar. Que una expresión haya superado la prueba no valida un paso de instalación o de cuenta que no se haya probado.

No conviertas la tabla en una puntuación general de la calidad del vídeo. Su objetivo es ayudarte a tomar una decisión práctica: qué instrucciones puedes seguir en el entorno indicado y cuáles necesitan más trabajo.

## Comprueba ahora un paso necesario

Elige una instrucción visible de tu tutorial. Anota ambas versiones, lee la referencia oficial pertinente y define una prueba inocua. Guarda el resultado exacto y sus límites antes de continuar.

Si localizar la instrucción es lo que más tiempo lleva, usa [YouTube Transcript Scraper](https://apify.com/chronometrica/youtube-transcript-scraper) para solicitar los subtítulos existentes con marcas de tiempo de tu propio tutorial público. Sustituye primero la URL de ejemplo. Considera la recopilación una acción propuesta hasta que examines su resultado. Después, vuelve al vídeo y completa tú mismo la comprobación de versiones.

## Fuentes y lecturas adicionales

- [Tipos integrados de Python: eliminación de prefijos y de caracteres iniciales — comprobado el 25 de octubre de 2026; comportamiento y notas de versión oficiales, no una prueba de un tutorial](https://docs.python.org/3/builtins/stdtypes.html#str.removeprefix)
- [YouTube Transcript Scraper — comprobado el 25 de octubre de 2026; especificación pública de la compilación 0.1.43, sin ejecución de recopilación ni prueba de funcionamiento del servicio](https://apify.com/chronometrica/youtube-transcript-scraper)
- [Task de transcripción con marcas de tiempo — comprobada el 25 de octubre de 2026; solo se constató la existencia de la página pública y del identificador de Task, sin comprobar los datos de entrada guardados ni la ejecución](https://apify.com/chronometrica/youtube-transcript-scraper/examples/youtube-timestamped-transcript-json)
- [Pregunta pública sobre aprender a programar con YouTube — publicada el 25 de noviembre de 2024, observada el 25 de octubre de 2026; una pregunta de un lector, no una prueba de demanda ni de rendimiento](https://www.reddit.com/r/learnprogramming/comments/1gz6km5)