GDELT: inteligencia geopolítica global en tiempo real
GDELT (Global Database of Events, Language, and Tone) monitoriza medios de comunicación de todo el mundo y proporciona cuatro APIs que el pipeline usa para diferentes casos de uso.
Las cuatro APIs integradas
| API | Uso |
|---|---|
| DOC 2.0 (artlist) | Búsqueda de artículos por término o tema |
| DOC 2.0 (timeline) | Evolución temporal del volumen de cobertura |
| GEO 2.0 | Coordenadas geográficas de los eventos noticiosos |
| Context 2.0 | Búsqueda a nivel de oración y citas textuales |
Throttling: GDELT exige ≥ 5 s entre requests
GDELT tiene un límite estricto de una petición cada 5 segundos por IP. El conector implementa un rate limiter global con lock para garantizarlo incluso si hay múltiples workers:
_GDELT_MIN_INTERVAL = 6.0 # 6 s para dejar margen
_GDELT_MAX_RETRIES = 2 # reintentos en 429
_GDELT_RETRY_WAIT = 12.0 # espera base entre reintentos
def _throttle() -> None:
global _gdelt_last_call
with _gdelt_lock:
wait = _GDELT_MIN_INTERVAL - (time.monotonic() - _gdelt_last_call)
if wait > 0:
time.sleep(wait)
_gdelt_last_call = time.monotonic()
Idiomas soportados
GDELT cubre más de 65 idiomas. El conector incluye un mapa de nombres de idioma a código ISO para facilitar la configuración de fuentes: "spanish" → "es", "catalan" → "ca", "basque" → "eu", "galician" → "gl", entre otros.
Ordenación de resultados
La API DOC admite cinco modos de ordenación: DateDesc, DateAsc, ToneDesc, ToneAsc y HybridRel. Para alertas en tiempo real se usa DateDesc; para análisis de tono se usa ToneDesc o ToneAsc dependiendo de si se buscan coberturas positivas o negativas.