Yahoo Weather Logo

Yahoo Weather API – Python

Yahoo nos ofrece una serie de herramientas útiles para nuestro entorno de desarrollo y entre esas se encuentra “The Yahoo Weather API”, la cual como su nombre lo dice sirve para obtener información del clima de localizades puntuales tanto el clima actual como un pronostico de varios días futuros.

Yahoo Weather Console

Este site ofrece una forma super útil para probar esta api y jugar realizando consultas:

Weather Client Console

Tienes la posibilidad de realizar las consultas tanto por locación (lat-long) y por woeid (Where On Earth IDentifier) este ultimo se puede encontrar tanto en el site de Yahoo weather o en este lugar Buscador de woeid

Informacion del Clima de New York City

select * from weather.forecast where woeid=2459115

Este resultado tiene información en Millas y Grados farenheit, en caos de querer la información en celsius solo basta con modificar la consulta de esta manera:


select * from weather.forecast where woeid=2459115 and u = 'c'

Para poder realizar una búsqueda con la ubicación (lat-long) se realiza de esta manera:
Cuando se realice una consulta con la ubicación debe de tener en cuenta hacer una consulta previa para confirmar que retorna la ciudad correcta.


select * from weather.forecast where woeid in
(SELECT woeid FROM geo.places WHERE text='(40.6453531,-74.0150372)') and u = 'c'

Python

Para consumir esta api con python procedemos a lo siguiente:

Tener en cuenta que para poder realizar una peticion a Weather API hay que crear una cuenta en el portal de Yahoo y crear una app

Instalar la libreria “Requests” para realizar peticiones HTTP.


pip install requests


import requests

#URL Base
baseurl = "https://query.yahooapis.com/v1/public/yql"

#Query
query = "select * from weather.forecast where woeid in (SELECT woeid FROM geo.places WHERE text='({}, {})') and u = 'c'"

#Parametros
params = {}

params['q'] = query.format(lat, lon)
params['format'] = 'json'

#Ejecutar la peticion
result = requests.get(baseurl, params=params)

Referencias

Yahoo Weather Documentacion
Yahoo Weather Consola

Share on Google+Share on LinkedInShare on RedditShare on TumblrTweet about this on TwitterShare on Facebook
  • Luis Alberto Romero Calderon

    Primero 🙂

  • Rafael Gonzalez De Gouveia

    Hola quería usar este código pero me da error porque no estan definidas lat y lon.
    pregunta: tengo que definirlas yo según la geolocalizacion que quiera?
    gracias

    • Luis Alberto Romero Calderon

      Asi es, esa sera la ubicación que quieres consultar