PHP é à quinta-feira – Previsão do tempo com PHP

36 Comentários

Mostrar a previsão do tempo usando a linguagem de programação PHP parece um “bicho de sete cabeças”. Sim, até pode ser, mas se aproveitarmos as API’s disponíveis para este serviço, reduz-se a meia dúzia de linhas de código. O objectivo deste artigo é (criarem) adaptarem um script, produzido em php, que vos mostre a informação meteorológica da vossa cidade.  Depois é só meterem no vosso site, blog, etc. Viva o PHP…e as outras linguagens de programação :).

Yahoo_Weather_Icons_by_golosiy


Basicamente o que é necessário saber é o URL da API, fornecendo como parâmetro de entrada  nome da cidade e o idioma. A resposta vem em XML sendo facilmente interpretada pelo PHP. A título de exemplo, vamos escolher a cidade de Viseu. Verifiquem o seguinte URL: http://www.google.com/ig/api?weather=Viseu&hl=pt-br

Para quem não tem um servidor Web para testar, pode instalar o XAMPP na vossa máquina para o efeito

Vamos lá ao trabalho:

1- Vamos fazer o download do script em txt aqui

2 – Editamos por exemplo com Notepad++ e actualizem para a vossa cidade e gravem como tempo.php

08-10-2009 00-18-49

3 – Gravem as alterações e façam upload para o vosso servidor ou pasta no XAMPP (neste caso podem colocar dentro da pasta htdocs).

4 – Agora basta acederem à pagina web (no caso do XAMPP: http://localhost/tempo.php)  e verifiquem qual a previsão meteorológica para Hoje e Próximos dias na cidade de Viseu (no meu caso).

08-10-2009 00-26-58

Fácil não é? Quem pretender sugerir alterações ao script está a vontade.

Podem ver aqui o script a funcionar para a cidade do Porto

Partilhar:
Tags:

Comentários

36

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Pouic

    Boa 🙂 já fiz assim uma brincadeira com flash a chamar esta mesma API 😉 ainda uso hoje… nunca falha ehehehe

    1. Avatar de Carlos Franco
      Carlos Franco

      boas, li aqui que conseguis-te por isto em flash, seria possivel dares-me uma ajuda nisso??

  2. Avatar de Drake
    Drake

    Giro. Obrigado por partilhares.

  3. Avatar de José Fonseca
    José Fonseca

    Muito interessante. Tenho de ver se funciona na configuração que tenho na minha máquina 🙂

  4. Avatar de Nuno Amaral

    Também podem fazer com o tempo do sapo, que penso que têm o tempo mais correcto.

    1. Avatar de choppy
      choppy

      Como é que posso usar a aplicação do sapo?

      1. Avatar de Pouic

        O sapo disponibiliza n serviços… Contudo não permite que os utilizes com fins lucrativos…
        http://services.sapo.pt

        1. Avatar de Pedro Pinto

          Interessante @Pouic não conhecia.
          Neste caso chama-se webservices, apenas temos de dar os parâmetros de entrada

  5. Avatar de Bónus

    Boa dica!
    Para complementar, era sabermos a localização do visitante, através do IP.

    1. Avatar de TiagoKito
      TiagoKito

      http://forum.imasters.uol.com.br/index.php?/topic/214533-localizacao-atraves-do-ip/

      Penso que a cidade é que falha um bocado, porque deu m lisboa xD

      Abc

  6. Avatar de Rafael
    Rafael

    Boa dica, parabéns.

    Abraço,
    Rafael.

  7. Avatar de TiagoKito
    TiagoKito

    Impecavel… Bom pa testar pa relembrar PHP 🙂

    Abc

    1. Avatar de Pedro Pinto

      biiiiiiingo @luis-f !!!
      Não sei se já te deste ao trabalho de ver o script e ver a parte dos créditos.
      Não há que tirar o mérito a quem faz as coisas.

      Abraço

  8. Avatar de ViajantE
    ViajantE

    Estive a ver o script e ainda não percebi, isto é se o script aceita, colocar mais que uma cidade para apresentar o tempo.
    Alguém já exprimentou?

  9. Avatar de Silvio
    Silvio

    Obrigado pela divulgação, e por tere utilizado Viseu, como exemplo! 😀

    1. Avatar de Pedro Pinto

      @Silvio, de nada.
      Viseu….por algum motivo deve ser 🙂

  10. Avatar de Carlos
    Carlos

    Então, como descubro quais cidades a previsão suporta? Não achei em nenhum lugar

  11. Avatar de softclean
    softclean

    Excelente dica de PHP. Mostra bem a utilização de imensos webservices gratuitos que temos ao nosso dispor.

    O código também me pareceu bastante limpo e arrumado, boa descoberta 😉

  12. Avatar de Gooden
    Gooden

    O único problema a meu ver é que se Puser Lisboa não dá …. tenho de meter Lisbon e já funciona. 😐

    Acontece a mais alguém este problema?

  13. Avatar de Wilson Silva
    Wilson Silva

    Tenho pena que a quinta feira do PHP esteja de lado. Estou a tentar adicionar um campo de pesquisa às páginas do meu site mas não tenho nenhuma ideia de como é que se fazem. Se souberem de alguma coisa agradeço 🙂

    1. Avatar de Pedro Pinto

      Não é dificil.. metes um form e depois apanhas o que o utilizador escreve e fazes uma querie a Base de dados por essa keyword…isto se tiveres base de dados.

      Orienta-te aqui: http://php.about.com/od/phpwithmysql/ss/php_search.htm

  14. Avatar de Bruno Costa
    Bruno Costa

    Muito boa noite

    Actualmente estou a desenvolver um site em php para um núcleo de ambiente, em que este tentei colocar o ficheiro tempo.php a funcionar no servidor e não funciona e com o xampp funciona direitinho, será que tenho a pedir ao administrador do servidor para actualizar a versão do php, porque so tenho acesso ftp.
    Vou dar o endereço http://geonucleo.ufp.pt/tempo assim não funciona, mas se eu comentar

    $info = $xml->xpath(‘/xml_api_reply/weather/forecast_information’);
    $atual = $xml->xpath(‘/xml_api_reply/weather/current_conditions’);
    $proximos = $xml->xpath(‘/xml_api_reply/weather/forecast_conditions’);

    ja funciona alguma coisa http://geonucleo.ufp.pt/tempo/index2.php

    Neste URL http://geonucleo.ufp.pt/tempo/info.php tenho os dados do servidor.

    Gostaria se me podessem ajudar, porque acho que ficaria bem um script deste.

    Obrigado

    1. Avatar de Bruno Costa

      Problema solucionado

      Analisei qual seria os portos que cada função necessitava e existia alguns no servidor que estavam fechados.

      cumps

  15. Avatar de triplox
    triplox

    Não funciona em cidades do interior de minas gerais

    1. Avatar de Tylër

      deveria ter uma funcão para mostrar uma mensagem de previsão indisponível caso não esteja realmente disponível 😉

  16. Avatar de Tiago
    Tiago

    Boa noite.

    estou a desenvolver uma aplicação em flash e gostaria de integrar a previsão de tempo.
    precisava de uma ajuda, como consigo integrar este php em flash (AS2).
    Cumprimentos

  17. Avatar de Pedro Dias
    Pedro Dias

    Boa tarde,

    Desde ja agradeço a partilha deste script.

    Estou com o mesmo problema do Bruno Costa, o script dá-me erro se incluir a função xpath().

    Andei a investigar e conclui que o problema poderia passar por não ter o SimpleXML instalado no meu servidor, mas tenho!

    Não estou a conseguir resolver o problema, será que alguém me indicar por onde posso estar a errar?

    Obrigado.

  18. Avatar de Jhonny Moraes

    Olá!
    Eu achei show o script, só não gostei das imagens, achei feias. Como faço para que ele capture imagens que estão hospedadas no servidor do site em uma pasta? abs

  19. Avatar de sofia

    gostaria que me explicassem como coloco a previsao do tempo no meu site, nao estou a conseguir fazer.
    Já mudei a cidade, ja gravei para tempo.php
    mas nao consigo fazer o resto

    ajudem-me se fizerem o favor
    agradeço

  20. Avatar de eu
    eu

    Não funciona, as imagens nao aparecem.

  21. Avatar de Luiz
    Luiz

    Outros serviços de previsão que conheço são (todos com código woeid de curitiba):

    http://weather.service.msn.com/data.aspx?src=vista&weadegreetype=C&culture=en-US&wealocations=wc:BRXX0079 (previsão de 5 dias)
    http://yahoowidget.weather.com/weather/local/BRXX0079?cc=*&dayf=5&ut=c&ud=k&us=k&up=m&ur=m&prod=bd_select&par=yahoowidgetxml
    http://apple.accuweather.com/widget/osx1/weather_data_v2.asp?location=SAM|BR|BR015|CURITIBA|&metric=1

    E se por acaso alguém precisar da previsão do tempo apenas para o paraná, o Simepar disponibiliza previsões mais detalhadas que a maioria dos web services. Postei um artigo com as instruções oficiais no endereço http://my.opera.com/facildelembrar/blog/previsao-do-tempo-em-curitiba-e-no-resto-do-parana

  22. Avatar de Ivo Barbosa
    Ivo Barbosa

    Links off

  23. Avatar de Joaquim Venâncio
    Joaquim Venâncio

    Boa noite.

    Como faço para que mostre o tempo na localização do visitante???