Todos los proyectos
Activo

Investigación de Revistas

Un pipeline automatizado que extrae ocho revistas de psicología del deporte, clasifica artículos por tema y mantiene un catálogo con registros desde 2015.

Situación

Un consultor de psicología del deporte necesitaba mantenerse actualizado con ocho revistas académicas de diferentes editoriales, cada una con su propio calendario de publicación (trimestral, bimestral, continuo). El campo es activo y los artículos relevantes se publican constantemente, pero encontrarlos era trabajo manual.

El Problema

Revisar manualmente el sitio de cada revista cada mes era tedioso y fácil de omitir. Los artículos relevantes se perdían. Pero más allá del seguimiento, el problema real era el filtrado: la mayoría de los artículos publicados quedaban fuera de las cuatro áreas de enfoque del consultor. Sin clasificación, cada nueva entrega requería revisar manualmente títulos y resúmenes para encontrar los dos o tres que realmente importaban.

Lo Que Hice

Construí un pipeline de dos fases. La fase uno consulta la API de CrossRef para obtener metadatos de artículos (título, autores, DOI, resumen, volumen) filtrados por ISSN de revista y rango de fechas. La fase dos enriquece los registros sin resumen visitando directamente la página del editor con Playwright y extrayendo el texto.

Una herramienta de clasificación separada procesa cada artículo contra cuatro temas definidos por el profesional usando la API de Gemini con salida JSON estructurada. Cada artículo recibe un indicador de relevancia por tema. El clasificador guarda progreso cada 20 artículos y soporta reanudación ante fallo.

Todo corre como herramientas CLI de Node.js con rangos de fechas configurables. Un calendario de publicación rastrea qué revistas publican cuándo, y un verificador de estado muestra una vista de calendario completo de lo que ha sido extraído.

journal-research/
├── journal-scraper.js         Phase 1: CrossRef + Phase 2: Playwright
├── classify-articles.js       Gemini-powered topic classification
│   └── --resume               Checkpoint recovery
├── check-status.js            Calendar view + next-check dates
├── publishing-schedule.json   8 journals, ISSNs, frequencies
└── data/
    ├── journal database.csv        Main DB (2015-present, 3,000+ rows)
    └── journal_classified.csv      Classified output

Classification Topics:
  T1: Program Creation & Evaluation
  T2: Practitioners & Professional Practice
  T3: Student-Athletes & University Sport
  T4: Coaches & Sport Psychology

Resultado

Más de 3.000 artículos catalogados y clasificados en 4 áreas temáticas. El consultor recibe una lista filtrada de artículos relevantes, no un feed sin procesar que requiere revisión manual. El pipeline corre mensualmente según el calendario de publicación. El seguimiento de revistas que antes tomaba horas ahora sucede en segundo plano.

8 journals

Rastreadas en 4 editoriales

3,000+ articles

Catalogados desde 2015 hasta hoy

4 clasificadores

Multi-etiqueta con detección negativa

Automatización mensual

Extracción programada por calendario

Recuperación por checkpoint

Reanudación ante fallo en ejecuciones largas

3 herramientas CLI

Extractor, clasificador, verificador de estado

Stack Tecnológico

Scraping

  • CrossRef API
  • Playwright
  • Chromium
  • HTTP polling

Classification

  • Gemini API
  • Multi-label detection
  • JSON schema enforcement

Data

  • CSV pipelines
  • Publishing calendar
  • Checkpoint/resume

Infrastructure

  • Node.js CLI
  • Cron scheduling
  • Git-tracked output