Proyecto Caracterización de Egresados
Diseño de herramientas no convencionales
PROYECTO EGRESADOS INSTITUTO TECNOLÓGICO METROPOLITANO – ITM
2.3. Construcción de primera versión del instrumento
Actividad. Diseño de herramientas de recolección de información no convencionales.
Luis Felipe Ortiz-Clavijo
Co-Investigador
Universidad Autónoma Latinoamericana -UNAULA-
Descripción de la herramienta de extracción automatizada de perfiles CvLAC
Como parte del proyecto Estudio de Seguimiento a Egresados: Caracterización de los Egresados 2018–2023 del Ciclo Tecnológico del Programa de Ingeniería de Producción del ITM, se diseñó y probó una herramienta automatizada desarrollada en Python para la recolección de información pública desde la plataforma CVLAC (Currículum Vitae en Línea de Minciencias).
Objetivo:
Automatizar la extracción de datos académicos y profesionales de perfiles públicos de egresados que cuenten con registro en la base CVLAC, con el fin de complementar el cuestionario institucional de seguimiento y facilitar el análisis de trayectorias educativas y laborales.
Funcionalidades:
- Ingreso automatizado a perfiles públicos de CVLAC, mediante el uso de solicitudes HTTP y la librería
requests
. - Procesamiento del HTML de la página utilizando
BeautifulSoup
para localizar y extraer:- Nombre completo del egresado.
- Formación académica (títulos, instituciones, años).
- Experiencia profesional (si está disponible).
- Estandarización de los datos extraídos para posterior análisis o integración con otras fuentes como encuestas institucionales, ORCID o Google Scholar.
- Diseño modular que permite incorporar nuevos perfiles simplemente reemplazando la URL del CVLAC correspondiente.
Tecnologías utilizadas:
- requests – Para simular la navegación web y obtener el contenido HTML.
- beautifulsoup4 – Para el análisis del árbol DOM y la extracción precisa de información.
- fake_useragent – Para simular encabezados de navegador y evitar bloqueos.
Ejemplo de código Python:
import requests
from bs4 import BeautifulSoup
# URL del perfil
url = 'https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000500356'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
# Extraer nombre del investigador
nombre = soup.find('td', {'class': 'textoAzulOscuro'}).get_text(strip=True) if soup.find('td', {'class': 'textoAzulOscuro'}) else 'No disponible'
print(f'👤 Nombre del perfil: {nombre}')
# Extraer secciones clave del perfil
print('\n🎓 Formación Académica:')
formacion = soup.find_all('table')[4]
for fila in formacion.find_all('tr')[1:]:
celdas = fila.find_all('td')
if len(celdas) >= 2:
print(f' - {celdas[0].text.strip()} | {celdas[1].text.strip()}')
print('\n📚 Producción académica (primer bloque encontrado):')
producciones = soup.find_all('table')[10]
for fila in producciones.find_all('tr')[1:4]: # Muestra solo los primeros 3 resultados
print(' -', fila.get_text(strip=True))
else:
print(f'Error al acceder a la URL: {response.status_code}')
Ejemplo de salida:
👤 Nombre del perfil: No disponible
🎓 Formación Académica:
- | Cursos de corta duración
INSTITUTO TECNOLÓGICO METROPOLITANO DE MEDELLÍN
INGENIERIA DE PRODUCCION
Septiembrede2013 - Noviembrede 2013
- | Cursos de corta duración
Ministerio De Educación Nacional - Mineducación
INGENIERIA INDUSTRIAL
Octubrede2013 - Octubrede 2013
- | Cursos de corta duración
UNIVERSIDAD DE ANTIOQUIA
INGENIERIA INDUSTRIAL
Juniode2011 - Enerode 2012
- | Extensión
INSTITUTO TECNOLÓGICO METROPOLITANO -ITM-
ingeniería de producción
Juniode2020 - Diciembrede 2020
- | Extensión
INSTITUTO TECNOLÓGICO METROPOLITANO -ITM-
ingeniería de producción
Agostode2019 - Septiembrede 2020
- | Otros
Departamento Administrativo De La Función Pública
ingeniería de producción
Agostode2019 - Octubrede 2019
📚 Producción académica (primer bloque encontrado):
- Producción técnica - Cursos de corta duración dictados - Especialización
- NELCY SUAREZ LANDAZABAL, Fundamentos de Investigación de Mercados, Finalidad: Preparar el estudiante de Gestión Comercial para que elabore una investigación de mercados cuantitativa. En: Colombia, 2010, INSTITUTO TECNOLÓGICO METROPOLITANO DE MEDELLÍN. Participación: Docente, 0 semanas. Áreas: Ingeniería y Tecnología -- Otras Ingenierías y Tecnologías -- Ingeniería Industrial,
- Producción técnica - Cursos de corta duración dictados - Extensión extracurricular