Este script extrae información sobre las tarifas de luz por horas desde el sitio web tarifaluzhora.es y muestra las horas con sus respectivos precios, marcando con la etiqueta [ECO] aquellas horas que tienen un precio igual o menor a un umbral configurable.
El script scrapluz.py realiza un scraping del sitio web de tarifaluzhora.es para obtener:
- Las horas del día con sus tarifas de luz
- Los precios por kWh para cada hora
- Una identificación automática de las horas "ECO" (precio igual o menor al umbral configurado)
La salida muestra cada hora con su precio formateado, y las horas que cumplen el criterio de precio máximo se marcan con la etiqueta [ECO].
- Python 3.6 o superior
- Conexión a internet (el script necesita acceder a tarifaluzhora.es)
El script requiere las siguientes bibliotecas de Python:
requests- Para realizar peticiones HTTP al sitio webbeautifulsoup4- Para parsear y extraer datos del HTML
La biblioteca re utilizada para expresiones regulares es parte de la biblioteca estándar de Python y no requiere instalación adicional.
- Instala las dependencias usando pip:
pip install requests beautifulsoup4O si usas Python 3 específicamente:
pip3 install requests beautifulsoup4- Crea un entorno virtual:
python3 -m venv venv- Activa el entorno virtual:
En macOS/Linux:
source venv/bin/activateEn Windows:
venv\Scripts\activate- Instala las dependencias:
pip install requests beautifulsoup4- (Opcional) Crea un archivo
requirements.txt:
pip freeze > requirements.txtEl contenido de requirements.txt debería incluir:
requests>=2.25.0
beautifulsoup4>=4.9.0
Una vez instaladas las dependencias, ejecuta el script:
python scrapluz.pyO si usas Python 3:
python3 scrapluz.pyEl script mostrará una lista de horas con sus respectivos precios por kWh, por ejemplo:
[ECO] 00:00 - 01:00: 0.120 €/kWh
[ECO] 01:00 - 02:00: 0.115 €/kWh
02:00 - 03:00: 0.145 €/kWh
03:00 - 04:00: 0.150 €/kWh
[ECO] 04:00 - 05:00: 0.130 €/kWh
...
Significado de la etiqueta [ECO]:
- Las horas marcadas con
[ECO]tienen un precio igual o menor al umbral configurado (por defecto 0.135 €/kWh) - Las horas sin etiqueta tienen un precio superior al umbral
El precio máximo para considerar una hora como "ECO" está configurado en la función main() del script. Por defecto está establecido en 0.135 €/kWh.
Para modificar este valor, edita la línea 33 del archivo scrapluz.py:
precio_max = 0.135 # Cambia este valor según tus necesidadesPor ejemplo, para establecer el umbral en 0.100 €/kWh:
precio_max = 0.100La URL del sitio web está hardcodeada en la línea 32:
url = 'https://tarifaluzhora.es'Si necesitas cambiar la URL, modifica esta línea en el código.
$ python3 scrapluz.py
[ECO] 00:00 - 01:00: 0.120 €/kWh
[ECO] 01:00 - 02:00: 0.115 €/kWh
02:00 - 03:00: 0.145 €/kWh
03:00 - 04:00: 0.150 €/kWh
[ECO] 04:00 - 05:00: 0.130 €/kWh
05:00 - 06:00: 0.142 €/kWh
...El script está diseñado para ejecutarse localmente en tu máquina. Solo necesitas:
- Tener Python 3 instalado
- Instalar las dependencias (ver sección de Instalación)
- Ejecutar el script cuando necesites consultar las tarifas
El script está organizado en las siguientes funciones:
obtener_html(url): Obtiene el contenido HTML de la URLextraer_bloques(html): Extrae los bloques de horas del HTML parseadoextraer_info_bloque(bloque): Extrae la información (hora y precio) de cada bloquemostrar_resultados(resultados, precio_max): Muestra los resultados formateados con la etiqueta [ECO]main(): Función principal que orquesta el proceso
-
Dependencia de la estructura del sitio web: Este script depende de la estructura HTML específica de tarifaluzhora.es. Si el sitio web cambia su estructura, el script podría dejar de funcionar y requeriría actualizaciones.
-
Conectividad: El script necesita una conexión activa a internet para funcionar.
-
Límites de uso: Ten en cuenta las políticas de uso del sitio web. No abuses haciendo demasiadas peticiones en poco tiempo.
-
Manejo de errores: Si el sitio web no está disponible o hay un error de conexión, el script mostrará un error. Puedes mejorar el script añadiendo manejo de excepciones si es necesario.
Solución: Instala las dependencias como se indica en la sección de Instalación.
Solución: Instala beautifulsoup4 con pip install beautifulsoup4.
Posibles causas:
- No hay conexión a internet
- El sitio web tarifaluzhora.es no está disponible
- La estructura HTML del sitio web ha cambiado (el script necesita actualización)
Solución: Verifica el valor de precio_max en el código. Si está muy bajo, es posible que ninguna hora cumpla el criterio. Ajusta el valor según tus necesidades.
Daniel Gómez
Este script es de uso libre.(MIT) Asegúrate de respetar los términos de uso del sitio web objetivo (tarifaluzhora.es).