5
Cum preluam vremea de la YahooWeather
V-am promis intr-un articol anterior, ca va voi arata cum putem prelua datele vremii de pe Yahoo Weather.
Resurse folosite:
1. SimplePie – download
2. API-ul Yahoo Weather (voi prelua vremea de la Buzau prin intermediul API-ului.
3. some PHP knowleadge
In primul rand, dezarhivam SimplePie si copiem intr-un alt folder (ex: preluare) fisierul simplepie.inc. Pentru a putea prelua vremea trebuie sa facem o noua clasa personalizata pentru simplepie. Asa ca, acum cream fisierul simplepie_yweather.inc in care adaugam:
define("SIMPLE_NAMESPACE_YWEATHER", "http://xml.weather.yahoo.com/ns/rss/1.0");
class SimplePie_Item_Yweather extends SimplePie_Item {
// Functie pentru preluare temperatura
function get_temperatura(){
$data = $this->get_item_tags(SIMPLE_NAMESPACE_YWEATHER, 'condition');
return $data[0]['attribs']['']['temp'];
}
// Functie pentru preluare conditii atmosferice
function get_stare(){
$data = $this->get_item_tags(SIMPLE_NAMESPACE_YWEATHER, 'condition');
return $data[0]['attribs']['']['text'];
}
}
Salvam, apoi cream fisierul preluare.php unde vom initia simpliepie.
// Includes simplepie
include("simplepie.inc");
include("simplepie_yweather.inc");
// Initializam simplePie()
$feed = new SimplePie();
$feed->set_feed_url('http://weather.yahooapis.com/forecastrss?p=ROXX0004&u=c'); // url-ul feed-ului ce contine informatiile despre vreme, ROXX0004 - codul Buzaului
$feed->set_item_class();
$feed->set_item_class('SimplePie_Item_Yweather'); // initializam clasa SimplePie_Item_Yweather, pe care am creat-o in fisierul simplepie_yweather.inc
$feed->init();
$feed->handle_content_type();
foreach($feed->get_items() as $item){
// $item->get_temperatura() este folosit pentru afisarea temperaturii (get_temperatura() - functie creata in simplepie_yweather.inc)
// $item->get_stare() este folosit pentru afisarea conditiilor atmsoferice
echo "La Buzau, s-a inregistrat temperatura de ".$item->get_temperatura()." grade C! Conditii atmosferice: ".$item->get_stare()."";
}
Acesta este un mod foarte simplu de a prelua datele despre vreme, insa se poate folosi ca baza pentru o aplicatie foarte complexa: cu alegerea orasului, temperatura pe cateva zile in avans, realizare de statistici si lista poate continua. Daca ati considerat ca v-a fost de folos, abonati-va la feed-ul meu si veti mai avea parte de asemenea mini-tutoriale.

August 21st, 2009 at 3:26 pm
super articolul !
ms !
chiar interesant
August 24th, 2009 at 5:56 pm
Ma bucur! Sper c-a ajutat…
September 20th, 2009 at 5:11 pm
Bun articol,ms frumos…sper sa ma ajute:)
October 7th, 2009 at 2:33 pm
[...] articol urmator am sa va arat si cum se preiau valorile legate de temperatura folosind API-ul Yahoo Weather, astfel va puteti face si voi un bot Twitter ca si [...]