Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Crea una App meteorológica con Flask

José Domingo Muñoz
  • Escrito por José Domingo Muñoz el 02 de Febrero de 2018
  • 2 min de lectura | Programación
Crea una App meteorológica con Flask
El reproductor de video será cargado en breves instantes.

Vamos hacer una aplicación web con el microframework flask que va a obtener información de la temperatura de localidades de la provincia de Sevilla y mostrará la temperatura máxima y la mínima.

Se sacara la información de la página aemet.

capturaUno

Esta página puede mostrar la información de predicción de tempertura en un archivo xml. al abrir el fichero se puede ver en la URL que termina en un código con cada uno de los municipios.

capturaDos

La idea es poder leer este fichero xml y buscar lo que nos interesa que es la temperatura máxima y mínima y poder mostrarla en nuestra aplicación.

¿Qué se necesita?

Un fichero con todas las localidades de Sevilla con su nombre y lo que realmente nos interesa, además del nombre, son los últimos cinco caracteres del atributo value donde esta el código que nos va a permitir leer la página xml de la agencia de meteorología y asi poder tener la información de esa localidad.

capturaTres

Por lo tanto este fichero lo vamos a leer y nos va a permitir crear una lista con todas las localidades y con sus códigos. Con el código de cada localidad se podrá leer el fichero xml que me da la página web de la agencia de meteorología para leer la temperatura máxima y la mínima.

Se necesita una librería de Python para leer archivos xml, existen muchas pero en este caso se usará:

from lxml import etree.

En la página principal se leera el archivo xml (sevilla.xml), se buscara todos los municipios y se generara una página HTML desde la plantilla inicio.html y le enviare como variable una lista con todos los municipios.

capturaCuatro

la plantilla inicio.html se extiende de una plantilla base donde esta toda la estructura de la página web, la cual tiene:

  • Como título: Temperaturas.
  • Contenido: Una lista donde se van a recorrer los municipios y se colocará un enlace con los 5 últimos caracteres del atributo donde está guardado el código. El enlace va a ser el nombre de la localidad.

capturaCinco

Probando la aplicación

Corremos la aplicación por la terminal con el comando:

$ python3 app.py

En la primera página se puede ver la estructura completa porque se ha generado de una plantilla base. También se puede ver el html generado y se tiene la lista de todas las localidades de la provincia de Sevilla.

capturaCinco

Si pulsamos en cualquiera de los enlaces nos llevará a la siguiente ruta de nuestro programa que es una ruta dinámica que lo único que espera es el código de la localidad.

captura siete

Aquí se leerá el documento xml desde la url de la agencia de meteorología que siempre es el mismo y lo único que cambia es el código que hemos recibido al acceder a esta ruta. Si por lo que sea no puedo acceder devuelvo un 404.

Una vez leido el xml voy a buscar el nombre de la localidad, la temperatura máxima y la temperatura mínima y genero una página html con la plantilla temperaturas.html y le mando: el nombre, la temperatura máxima y la mínima.

La plantilla de temperaturas.html es simple y lo que hace es mostrar esa información.

capturaOcho

Si volvemos a nuestra página y buscamos la ciudad de sevilla nos dará la siguiente información:

capturaNueve

Artículo desarrollado a partir del vídeo por Ana Gabriela Durán.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars