Skip to content

cfe-rates-scraper

Qué es

El bot que entra al portal público de CFE, extrae la tabla de cargos de la tarifa solicitada y devuelve el resultado por cola.

Tipo de sistema

CampoValor
TipoBot AWS Lambda
LenguajePython
AutomatizaciónSelenium con Chromium headless
EmpaquetadoImagen Docker
DisparoMensaje SQS
DespliegueAWS SAM (us-east-2), ambientes de desarrollo y producción

Estado documental

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: desarrollo
  • Fuente resumida: código, plantilla de despliegue y documentación del repositorio.

Qué hace

text
mensaje SQS  ──►  elige la estrategia según la tarifa pedida

                        ├─ abre la página pública de CFE correspondiente
                        ├─ selecciona año, mes, estado, municipio y división
                        ├─ extrae la tabla de cargos
                        ├─ publica el resultado en la cola de respuesta
                        └─ elimina el mensaje procesado

Tarifas soportadas

Cada tarifa tiene su propia página en el portal de CFE y su propia estrategia de extracción:

TarifaQué cubre
gdmthGran Demanda en Media Tensión Horaria.
distDemanda Industrial Subtransmisión.
ditDemanda Industrial en Transmisión.
pdbtPequeña Demanda en Baja Tensión.

Parámetros del mensaje

CampoPara qué
regionIdentificador interno de región. Se devuelve sin transformar.
rateTarifa a consultar.
yearAño, tal como aparece en el selector de CFE.
monthMes, con el texto visible en CFE (ENERO, MARZO…).
stateEstado, con el texto visible en CFE.
municipalityMunicipio, con el texto visible en CFE.
divisionDivisión, con el texto visible en CFE.

Los valores deben coincidir con el texto del portal

Los parámetros no son códigos internos: son las etiquetas que CFE muestra en sus combos. Un acento, una mayúscula o una abreviatura distinta hacen que el bot no encuentre la opción.

Caso especial: Ciudad de México

CFE publica las tarifas de la Ciudad de México separadas en tres zonas: norte, centro y sur. El bot aplica estrategias específicas para ese caso.

Es un detalle que hay que recordar al comparar resultados: una consulta de Ciudad de México no devuelve lo mismo que la de cualquier otro estado.

Fragilidad

Depende de la interfaz de CFE, con protección anti-bots

El bot navega el portal seleccionando combos y leyendo tablas. Cualquier cambio de interfaz lo rompe.

Además, el portal está protegido por un sistema anti-bots. El proyecto ya incluye manejo explícito de ese desafío y esperas condicionadas en lugar de pausas fijas, consecuencia de incidentes previos.

Relación con otros sistemas

SistemaRelación
cfe-rates-microserviceLe envía las solicitudes y consume sus respuestas.

Todo el contexto de negocio vive en el microservicio; este bot solo extrae.

Operación

No tiene calendario propio: se dispara desde cfe-rates-microservice. Ver Operación de cfe-rates-microservice.

SíntomaCausa probable
No responde a ninguna solicitudLa Lambda falla al arrancar, o el portal bloqueó el acceso.
Responde en unas regiones y en otras noDatos que no coinciden con las etiquetas del portal, o la combinación no existe en CFE.
Falla sostenida durante díasCambio de interfaz en el portal de CFE.
Tiempos de espera agotadosPortal lento o protección anti-bots activa.

Riesgos y gaps

  • Sin alternativa a la navegación del portal: CFE no ofrece API para estas tarifas.
  • La protección anti-bots puede endurecerse en cualquier momento.
  • No hay alerta cuando el bot deja de responder.
  • No está documentado el tiempo esperado de respuesta.

Próxima revisión

Al definir el alertamiento de la cadena de tarifas.