¿Cómo está creado este buscador de tesis de la UCM?

Este buscador ha sido creado mediante dos componentes principales:

1. Extracción de datos

Se usa un script en Python para recopilar todas las tesis indexadas en esta página, hasta el 25 de agosto de 2025. Puedes consultar el programa aquí:

https://airsoto.github.io/vet/scripts_docs/scraper_ucm.py

El resultado es un archivo JSON con todos los artículos extraídos:

https://airsoto.github.io/vet/json/tesis_ucm_v2.json

2. Motivación del proyecto

Decidí crear esta web porque la usabilidad de la página oficial de búsqueda (docta.ucm.es) me parecía ineficiente: no mostraba resúmenes en las búsquedas múltiples, no permitía un cribado fácil por temas y tampoco ofrecía la posibilidad de visualizar el contenido de la tesis en la misma ventana. Este buscador mejora la experiencia al centralizar toda la información en un formato más accesible y práctico.

1️⃣ Todo empezó cuando entré en la página:
🔗 https://docta.ucm.es/search?spc.page=1&f.itemtype=doctoral%20thesis,equals
y comencé a buscar tesis de la UCM.

2️⃣ No me gustó la usabilidad de la web:
❌ No mostraba resúmenes en las búsquedas múltiples.
❌ No permitía filtrar fácil por temas.
❌ No ofrecía ver la tesis en la misma ventana.
Por eso pensé: ¿y si creo un buscador con visor PDF integrado?

3️⃣ Para eso necesitaba descargar los datos de todas las tesis indexadas.
Cada página de resultados tiene 10 tesis:
📄 Página 1 → https://docta.ucm.es/search?spc.page=1&f.itemtype=doctoral%20thesis,equals
📄 Última página → 2240
➡️ Total = 2240 × 10 = 22.400 tesis.

4️⃣ Con este script en Python:
🔗 https://airsoto.github.io/vet/scripts_docs/scraper_ucm.py
se descargan las tesis en formato .json.

5️⃣ Cada entrada JSON incluye:
📌 title → título
📌 link → enlace
📌 authors → autores
📌 directors → directores
📌 summary → resumen
📌 pub_date → año publicación
📌 defense_date → fecha defensa
📌 subjects_ucm → materias UCM
📌 subjects_unesco → materias UNESCO

6️⃣ El script trabajó mas de 20 h ⏳.
y creó la siguiente base de datos:
🔗 https://airsoto.github.io/vet/json/tesis_ucm_v2.json

7️⃣ El buscador se conecta a esa base de datos y permite consultar fácilmente las tesis.
Para visualizar los documentos PDF directamente en el navegador utilicé PDF.js, una librería en JavaScript.

Hubo campos que quedaron en blanco (del título y del resumen) en más de 1500 elementos y tuve que pasar este script:
🔗 https://airsoto.github.io/vet/scripts_docs/arreglador_title_summary.py
Espero que esto elimine estos errores. De todos modos, si detecta cualquier error le agradecería que me lo comunicase para subsanarlo.

8️⃣ Espero que este buscador le sea útil a mucha gente y que puedan disfrutar de estos estudios 📚,
fruto del esfuerzo de personas que dedicaron muchos años intensos de su vida… para crear conocimiento y compartirlo con el mundo 🌍.
🔗 https://airsoto.github.io/vet/tesis_ucm.html