Dopo aver pubblicato il Parser da XML a ASP di Google Meteo ecco che giunge il momento di pubblicare il parser, del file XML messo a disposizione dal servizio di Google Meteo, tramite PHP.
Per qualunque altra informazione fate riferimento all’articolo sopra riportato.
Al file PHP consiglio di aggiungere un DIV con una classe predefinita e jQuery Cycle Plugin per dare degli effetti di rotazione alle nostre informazioni meteo.
I servizi che offrivano le previsioni sono stati chiusi ma puoi prendere spunto su come funziona il parsing per fartene uno tutto tuo o provare ad utilizzare Open Weather Map.
Tutto l’articolo che segue è da leggera a solo scopo didattico o per prendere spunto. gli esempi che seguono non funzioneranno.
La varibile da modificare nell’esempio sotto è
$ch = curl_init("...");
e alcuni nodi del file xml.Per utilizzare il servizio Yahoo! Weather
http://weather.yahooapis.com/forecastrss?p=ITXX0067&u=c
Per utilizzare il servizio Weather.com
http://wxdata.weather.com/wxdata/weather/local/ITXX0067?cc=*&unit=m
La località impostata è Roma che equivale a ITXX0067. Per cambiare la località dovete sostituire il codice soprariportato nell’URL. Per trovare il codice della località a voi interessata vi consiglio di utilizzare i consiglio di utilizzare questo servizio, Weather Location Codes/IDs.
Fondamentale, sul nostro server PHP deve essere abilitata l’estensione CURL!!!
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!--?php // Catturiamo e salviamo il file XML sul nostro server per evitare alcuni problemi che possono verificarsi su alcuni server //nella stringa curl_init inseriamo la località desiderata in questo esempio è Roma $ch = curl_init("http://www.google.com/ig/api?weather=Roma,italy&hl=it"); $fp = fopen("weather.xml", "w"); //Con la funzione CURL settimano i parametri in maniera che l'XML venga letto correttamente (encoding) curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); //Leggiamo l'XML delle previsioni $xml = simplexml_load_file("weather.xml"); $current = $xml--->xpath("/xml_api_reply/weather/current_conditions"); $forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions"); /*previsioni di oggi*/ echo " |
“; echo “
Condizioni attuali: ” . $current[0]->condition[‘data’]; echo “
temp: ” . $current[0]->temp_c[‘data’] . “°C”; echo “
humidity: ” . $current[0]->humidity[‘data’]; echo “
wind: ” . $current[0]->wind_condition[‘data’] . “
0 1 2 3 4 5 6 7 |
"; /*previsioni prossimi giorni*/ foreach ($forecast_list as $forecast) { echo " |
“; echo “
;Previsione per: ” . $forecast->day_of_week[‘data’]; echo “
” . $forecast->condition[‘data’]; echo “
temp: min ” . $forecast->low[‘data’] . “°C, max ” . $forecast->high[‘data’] . “°C”; echo “
0 1 2 3 4 |
"; } ?> |
Un esempio visibile è disponibile su questo sito: www.carbonifera.it
Vi auguro ancora buone previsioni a tutti!!!
I commenti sono chiusi.