Yahoo Weather API – Python

Yahoo nos ofrece una serie de herramientas utiles para nuestro entorno de desarrollo y entre esas se encuentra “The Yahoo Weather API”, la cual como su nombre lo dice sirve para optener informacion del clima de localizades puntuales tanto el clima actual como un pronostico de varios dias futuros.

Yahoo Weather Console

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

Weather Client Console

Tienes la posibilidad de realizar las consultas tanto por Locacion (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 informacion en Millas y Grados farenheit, en caos de querer la informacion 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 busqueda con la ubicacion (lat-long) se realiza de esta manera:
Cuando se realice una consulta con la ubicacion 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