дан город хочу вывести погоду через yahoo weather api не могу найти id города помогите. название города Beloretsk Россия-Башкирия http://maps.yahoo.com/#mvt=s&lat=53.966702&lon=58.400002&zoom=14&q=453+B...
дан город хочу вывести погоду через yahoo weather api не могу найти id города помогите. название города Beloretsk Россия-Башкирия http://maps.yahoo.com/#mvt=s&lat=53.966702&lon=58.400002&zoom=14&q=453+B...
Комментарии
http://woeid.rosselliot.co.nz/
Ну или тут вводишь http://weather.yahoo.com/ свой город, получаешь ссылку вроде такой: http://weather.yahoo.com/russia/ivanovskaya-oblast/ivanovo-2121068/ . 2121068 - это WOEID
http://pers.narod.ru/php/php_yahooweather.html не тот id посмотри там запрос на хмл страницу делают вот такой надо для моего города...а woeid почему то неподходит вот такого формата надо RSXX1319
Я больше склонен доверять официальной документации http://developer.yahoo.com/weather/ , чем сайту на narod.ru
да конечно согласен с тобой, но мой английский оставляет желать лучшего а это один стоящий мануал на русском и готорыми php доками. и который не работает в моем городе((( блин...
хотя и при запросе http://weather.yahooapis.com/forecastrss?w=1987877&u=c выдает ошибку... что то не так делаю(
используй обычный file_get_contents($url)
вот, например, вполне сносное решение http://pkarl.com/articles/parse-yahoo-weather-rss-using-php-and-simplexm...
а можно подробнее. я только учу php.
<?php
$weather_feed = file_get_contents("http://weather.yahooapis.com/forecastrss?p=1987877&u=f");
$weather = simplexml_load_string($weather_feed);
if(!$weather) die('weather failed');
$copyright = $weather->channel->copyright;
$channel_yweather = $weather->channel->children("http://xml.weather.yahoo.com/ns/rss/1.0");
foreach($channel_yweather as $x => $channel_item)
foreach($channel_item->attributes() as $k => $attr)
$yw_channel[$x][$k] = $attr;
$item_yweather = $weather->channel->item->children("http://xml.weather.yahoo.com/ns/rss/1.0");
foreach($item_yweather as $x => $yw_item) {
foreach($yw_item->attributes() as $k => $attr) {
if($k == 'day') $day = $attr;
if($x == 'forecast') { $yw_forecast[$x][$day . ''][$k] = $attr; }
else { $yw_forecast[$x][$k] = $attr; }
}
}
var_dump($yw_forecast)
?>
это код для вставки в блок?
выдает ошибку в последней строке почему( Notice: Undefined variable: yw_forecast в функции eval() (строка 23 в файле /modules/php/php.module(80) : eval()'d code).
почему то при отправки запроса прямо через строку выводит ответ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
Yahoo! Weather - Error
Yahoo! Weather Error
City not found
Invalid Input /forecastrss?p=1987877&u=f
да, только var_dump убери - это вывод данных переменной
С тех пор API немного поменялся, замени вводимую строку с
на
(поменялся GET-параметр с p на w)
все равно не работает( кароче yahoo не отображает моего города( помогите с http://www.worldweatheronline.com/Beloretsk-weather/Bashkortostan/RU.aspx этим сервисом
Я сдаюсь... поставь себе http://www.gismeteo.ru/informers/ , там есть твой город
все равно спасибо) за то что помогал. тем кто столкнулся с этим же вопросом есть такая статья http://blog.devenergy.ru/archives/218 опираясь на нее попытаюсь выйти из ситуации