Há algum tempo atrás, postei aqui no blog um artigo de como usar a Google Weather API, só que infelizmente esse projeto foi descontinuado. Na busca de uma nova forma de obter essas informações facilmente acabei encontrando o Open Weather.
Open Weather
O Open Weather é um projeto que visa disponibilizar informações do clima de praticamente todas as cidades do planeta, com ele é possível obter informações da temperatura atual, nebulosidade, umidade relativa do ar e até mesmo a hora do nascer e pôr do sol!
Utilizando na minha aplicação
Você pode obter as informações de duas formas: JSON e XML. Para obter os dados basta você efetuar uma requisição conforme abaixo:
Retornando em JSON:
http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR
Retornando em XML:
http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&mode=xml
Os exemplos acima são por nome e país, mas existem também a possibilidade de se fazer a requisição utilizando a latitude e longitude:
http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139
O Open Weather também possui suporte multi-línguas, para retornar os dados em português basta adicionar na URL a query string &lang=pt
http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&lang=pt
Por padrão, o Open Weather retorna as informações de temperatura em Kelvin, para obter em Celsius basta adicionar na URL a query string units:
http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&units=metric&
Exemplo em Python
Para exemplificar melhor o uso do Open Weather, aqui vai um pequeno script em Python onde leio os dados no formato JSON.
import urllib2 #para efetuar a requisicao import json #para ler o JSON data = urllib2.urlopen('http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&units=metric&lang=pt') html = data.read() weather = json.loads(html) temperatura = str(weather['main']['temp']) + ' graus' nebulosidade = str(weather['clouds']['all']) + ' %' umidade = str(weather['main']['humidity']) + ' %' print "Em Itajai %s. Nebulosidade: %s. Umidade relativa do ar: %s." % (temperatura, nebulosidade, umidade)
Por hoje é só!
Abraço
Com esta dica dominarei o mundo!!!
é.. um pouco menos.. no máximo vc rouba o emprego da Maju do Jornal Nacional!