3 de abril de 2026

De unas URL a un repositorio de exámenes de la PAU de Madrid con ayuda de la IA

Cómo pude crear en una sola tarde dos cuadernos de Jupyter para descargar, ordenar y compilar exámenes de PAU de Madrid en PDF por asignatura, convirtiendo una tarea repetitiva en una automatización realmente práctica.

Hay proyectos en los que la Inteligencia Artificial no sustituye nada espectacular, pero sí aporta algo muy valioso: reduce fricción. Este es uno de ellos. A partir de varias páginas de la UC3M con enlaces a exámenes de PAU, pude montar en una sola tarde una solución sencilla, útil y reutilizable con Python y Jupyter Notebook.

El resultado quedó recogido en el repositorio examenes-pau-madrid, que organiza PDFs de varias asignaturas de la PAU de Madrid y los prepara para dos usos concretos: consultarlos por materia y curso y generar un PDF recopilatorio por carpeta con índice inicial. En la raíz del proyecto están los dos cuadernos que sostienen todo el flujo: descargar_pdfs_uc3m.ipynb y concatena_pdfs_con_indice.ipynb.

1. Introducción

Quien haya intentado preparar materiales de estudio a partir de exámenes sueltos sabe que el problema no suele ser técnico, sino práctico. Los documentos están repartidos en distintas páginas, con nombres mejorables, formatos desiguales y una organización poco cómoda. Descargar todo a mano, revisar enlaces, guardar cada archivo en su sitio y abrir decenas de PDFs sueltos termina siendo una tarea poco agradecida.

Ahí es donde una pequeña automatización tiene mucho sentido. No hablamos de un gran sistema, sino de detectar una necesidad concreta, definir bien el flujo y apoyarse en la IA para desarrollar más rápido. En mi caso, el objetivo era claro: tener exámenes de PAU organizados por asignatura y, además, reunirlos en documentos únicos cómodos de revisar, imprimir o reutilizar.

2. El punto de partida: unas URL de la UC3M

La idea nació de algo muy simple: unas páginas de la UC3M que enlazaban a exámenes, modelos y soluciones. A partir de ahí, lo razonable era dejar de pensar en “descargar archivos” y empezar a pensar en construir un flujo. Es decir, pasar de una colección dispersa de enlaces a un proceso repetible.

Lo interesante es que el problema no exigía un scraping sofisticado. Bastaba con una extracción de enlaces bien planteada, una organización clara por carpetas y un segundo paso de procesamiento de PDFs. Es el tipo de proyecto perfecto para trabajar con Python y Jupyter: pequeño, visible, fácil de iterar y con resultados tangibles desde muy pronto.

3. Primer cuaderno: descargar y clasificar automáticamente los PDFs

El primer cuaderno, descargar_pdfs_uc3m.ipynb, resuelve la parte más tediosa: recorrer varias páginas fuente, detectar enlaces útiles, descargar los documentos y dejar todo ordenado en su carpeta correspondiente. Según el README.md del proyecto, el notebook contempla tanto PDFs directos como enlaces de Google Drive y, además, genera informes por asignatura y un informe global de descarga.

Ese primer paso ya aporta muchísimo valor. Automatizar la descarga y clasificación de PDFs por asignatura evita el trabajo manual más repetitivo y hace que actualizar materiales deje de ser una tarea pesada. En lugar de repetir siempre el mismo proceso, el proyecto convierte esa necesidad en algo ejecutable, trazable y limpio.

El resultado es la descarga de los PDFs de exámenes de PAU ordenados por asignaturas:

Además, el repositorio no se queda solo en “bajar archivos”. También deja rastro de lo ocurrido. La carpeta pdf_uc3m/ contiene los informes globales informe_global_descargas.csv e informe_global_descargas.json, pensados precisamente para dar trazabilidad al proceso.

4. Segundo cuaderno: crear un PDF único por asignatura

El segundo cuaderno, concatena_pdfs_con_indice.ipynb, da el siguiente salto de valor. Ya no se trata solo de tener archivos descargados y ordenados, sino de convertir ese conjunto de PDFs en un documento único por materia, mucho más cómodo de consultar. El propio repositorio explica que este cuaderno lee los listados imprimir.md de cada asignatura, concatena los PDFs indicados en el orden definido y genera un PDF final por carpeta.

Esta parte resulta especialmente útil porque introduce criterio editorial sin complicar el flujo. En cada carpeta de asignatura se puede mantener un fichero de listado —imprimir.md— con los PDFs que se quieren incluir, en el orden deseado, y dejar comentadas las líneas que no interesa procesar en ese momento. Es una solución muy sencilla, pero también muy práctica, porque no obliga a tocar el código para cambiar la selección de documentos.

Ese detalle mejora mucho la experiencia. No es lo mismo tener veinte o treinta PDFs sueltos en una carpeta que contar con un recopilatorio único, ordenado y listo para revisar o imprimir.

El resultado final es un PDF con el nombre de la asignatura en cada carpeta:

5. El detalle que marca la diferencia: índice y marcadores

Aquí está, para mí, el punto en el que el proyecto deja de ser solo cómodo y pasa a ser realmente útil. El cuaderno de concatenación no se limita a unir PDFs: añade un índice inicial y marcadores internos. El README.md lo menciona de forma explícita, y ese matiz es justo lo que transforma una compilación simple en un material de trabajo mucho más navegable.

Cuando uno consulta exámenes de varios años, ese tipo de navegación importa mucho. No es lo mismo desplazarse a ciegas por un PDF largo que poder saltar directamente a una convocatoria, a un modelo o a una solución desde el índice o desde los marcadores del visor. Para estudiantes, supone acceder antes al material que buscan. Para profesorado, facilita preparar repasos, seleccionar ejemplos o imprimir bloques concretos sin perder tiempo entre archivos sueltos.

En el fondo, el valor no está solo en unir documentos, sino en convertir una colección desordenada en un documento compilado con estructura.

6. Qué papel ha jugado realmente la IA

Aquí conviene ser honestos. La IA no hizo magia, ni sustituyó el criterio técnico, ni resolvió por sí sola el problema. Lo que hizo fue acelerar mucho el desarrollo una vez que el problema estaba bien definido.

En un proyecto así, la IA resulta especialmente útil para proponer estructuras de código, sugerir funciones en Python, resolver dudas concretas, detectar errores, refinar el tratamiento de enlaces, mejorar el manejo de PDFs o ayudar a documentar mejor el proceso. También encaja muy bien en el ritmo típico de trabajo con Jupyter Notebook: probar, revisar, corregir y seguir iterando.

Eso fue justamente lo que más valor me aportó. En vez de arrancar desde cero o invertir demasiado tiempo en piezas repetitivas, pude avanzar mucho más rápido sobre una base funcional. La IA me sirvió como compañera de desarrollo: útil para plantear soluciones, revisar bloques de código y acelerar iteraciones, pero no para decidir por mí qué había que construir.

Porque las partes importantes seguían siendo humanas: detectar la necesidad, definir bien el flujo, validar los enlaces descargados, decidir la estructura de carpetas, elegir qué documentos incluir y revisar que el resultado final fuera realmente usable.

7. Conclusión

Me gustan especialmente este tipo de proyectos porque muestran una versión muy realista del valor actual de la IA aplicada al desarrollo. No hace falta hablar de grandes promesas ni de automatizaciones futuristas. A veces basta con un problema concreto, Python, Jupyter Notebook y una buena definición del objetivo para construir algo útil en muy poco tiempo.

En este caso, partir de unas páginas de la UC3M con enlaces a exámenes de PAU me permitió crear una solución que automatiza la descarga, ordena los materiales por asignatura y genera recopilatorios navegables con índice y marcadores. Es una automatización modesta, sí, pero también muy práctica, reutilizable y fácil de mantener.

Y precisamente por eso me parece un buen ejemplo de lo que la IA ya aporta hoy de forma tangible: no reemplaza el trabajo de pensar, pero sí reduce mucho el tiempo necesario para convertir una idea clara en una herramienta que funciona. Para docentes, estudiantes o cualquiera que tenga que organizar materiales repetitivos, ese tipo de ayuda merece mucho la pena.

Comparte:    Facebook Twitter

0 comentarios:

Publicar un comentario