Как погоду настроить
Модератор: immortal
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
Re: Как погоду настроить
Добрался и я до погоды. Думал что то сломалось. И верно, сначала через раз, а последнее время вообще не даёт погоду. Жаль, очень удобно было. Зажмотили нам похоже сервис Яндекса.
Re: Как погоду настроить
Посмотрите тут http://majordomo.smartliving.ru/forum/v ... &start=120 В конце есть на текущий момент рабочий скрипт забора погоды с яндекса.Bagir писал(а):Добрался и я до погоды. Думал что то сломалось. И верно, сначала через раз, а последнее время вообще не даёт погоду. Жаль, очень удобно было. Зажмотили нам похоже сервис Яндекса.
Правда только на текущий момент.
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
- 71Gavrik71
- Сообщения: 54
- Зарегистрирован: Сб май 21, 2016 2:04 pm
Re: Как погоду настроить
Уважаемые гуру, не могли бы помочь достать время захода с гисметио)))
ссылка https://www.gismeteo.ru/city/daily/4392/
код:
<div class="astronomy_item">
<span class="astronomy_title">Заход</span>
<b class="astronomy_value">20:41</b>
</div>
Все что удалось достать мне это: <b class="astronomy_value">20:41, вот таким шаблоном: Заход<\/span>(.+?)<\/b>
ссылка https://www.gismeteo.ru/city/daily/4392/
код:
<div class="astronomy_item">
<span class="astronomy_title">Заход</span>
<b class="astronomy_value">20:41</b>
</div>
Все что удалось достать мне это: <b class="astronomy_value">20:41, вот таким шаблоном: Заход<\/span>(.+?)<\/b>
Re: Как погоду настроить
вот:71Gavrik71 писал(а):Уважаемые гуру, не могли бы помочь достать время захода с гисметио)))
ссылка https://www.gismeteo.ru/city/daily/4392/
код:
<div class="astronomy_item">
<span class="astronomy_title">Заход</span>
<b class="astronomy_value">20:41</b>
</div>
Все что удалось достать мне это: <b class="astronomy_value">20:41, вот таким шаблоном: Заход<\/span>(.+?)<\/b>
Заход.+?value">(.+?)<\/b>
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
Re: Как погоду настроить
DiArt, спасибо! Я было подумал, что export.yandex.ru вообще прекратил работу. А он ушел на https. А заодно и переделали всё в xml ответе. Вчера на основные данные настроился. Сегодня надо будет до ума довести.
Re: Как погоду настроить
Я перенастроился, спасибо. Единственное, не все данные, что были раньше передает.
- 71Gavrik71
- Сообщения: 54
- Зарегистрирован: Сб май 21, 2016 2:04 pm
Re: Как погоду настроить
Огромное спасибо!!!ILGAS писал(а):вот:71Gavrik71 писал(а):Уважаемые гуру, не могли бы помочь достать время захода с гисметио)))
ссылка https://www.gismeteo.ru/city/daily/4392/
код:
<div class="astronomy_item">
<span class="astronomy_title">Заход</span>
<b class="astronomy_value">20:41</b>
</div>
Все что удалось достать мне это: <b class="astronomy_value">20:41, вот таким шаблоном: Заход<\/span>(.+?)<\/b>
Заход.+?value">(.+?)<\/b>
Только теперь веб цикл постоянно падает)
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
Re: Как погоду настроить
я бы всё же порекомендовал читать xml. Там есть эти данные. Работает очень стабильно.
- Amarok
- Сообщения: 1434
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Контактная информация:
Re: Как погоду настроить
В общем у меня такой сценарий:
Значение $url я получил после регистрации на сайте Gismeteo. Для этого надо написать письмо на [email protected] и попросить предоставить доступ к прогнозу погоды в xml-формате. Мне ответила любезная девушка, задала пару вопросов, выслала анкету (её надо заполнить) и - через некоторое время - у меня появился свой прогноз.
Приношу благодарности:
[*] сайту Gismeteo за предоставленный доступ к погодным данным на мой город
[*] менеджеру Gismeteo Валерии Сердюк за её терпение
[*] пользователю нашего форума m-malva за его код из которого я надёргал некоторые кусочки/идеи
SPOILERSPOILER_SHOW
Код: Выделить всё
$url = "";
$xml = simplexml_load_file($url);
$city = "NTuraGismeteo";
$name = $xml->location['name']; if(gg($city.".name")!=$name){sg($city.".name",$name);}
$name_r = $xml->location['name_r']; if(gg($city.".name_r")!=$name_r){sg($city.".name_r",$name_r);}
$durm = $xml->location->day[0]['durm']; if(gg($city.".durm")!=$durm){sg($city.".durm",$durm);}
$tmin = $xml->location->day[0]['tmin']; if(gg($city.".tmin")!=$tmin){sg($city.".tmin",$tmin);}
$tmax = $xml->location->day[0]['tmax']; if(gg($city.".tmax")!=$tmax){sg($city.".tmax",$tmax);}
if($tmin>0){$tmin="+".$tmin;} if($tmax>0){$tmax="+".$tmax;}
$pmin = $xml->location->day[0]['pmin']; if(gg($city.".pmin")!=$pmin){sg($city.".pmin",$pmin);}
$pmax = $xml->location->day[0]['pmax']; if(gg($city.".pmax")!=$pmax){sg($city.".pmax",$pmax);}
$wsmin = $xml->location->day[0]['wsmin']; if(gg($city.".wsmin")!=$wsmin){sg($city.".wsmin",$wsmin);}
$wsmax = $xml->location->day[0]['wsmax']; if(gg($city.".wsmax")!=$wsmax){sg($city.".wsmax",$wsmax);}
$hummin = $xml->location->day[0]['hummin']; if(gg($city.".hummin")!=$hummin){sg($city.".hummin",$hummin);}
$hummax = $xml->location->day[0]['hummax']; if(gg($city.".hummax")!=$hummax){sg($city.".hummax",$hummax);}
$cl = $xml->location->day[0]['cl']; if(gg($city.".cl")!=$cl){sg($city.".cl",$cl);}
$pt = $xml->location->day[0]['pt']; if(gg($city.".pt")!=$pt){sg($city.".pt",$pt);}
$pr = $xml->location->day[0]['pr']; if(gg($city.".pr")!=$pr){sg($city.".pr",$pr);}
$ts = $xml->location->day[0]['ts']; if(gg($city.".ts")!=$ts){sg($city.".ts",$ts);}
$descr = $xml->location->day[0]['descr']; if(gg($city.".descr")!=$descr){sg($city.".descr",$descr);}
$grademax = $xml->location->day[0]['grademax']; if(gg($city.".grademax")!=$grademax){sg($city.".grademax",$grademax);}
$today = "Сегодня ".$name_r." ".$tmin."° — ".$tmax."°. ".$descr.". ";
//Сегодня утром
if ($xml->location->day[0]->forecast['tod'] == 1){
$t = $xml->location->day[0]->forecast->values['t'];
if($t>0){$t="+".$t;}
$descr = $xml->location->day[0]->forecast->values['descr'];
$today_morning = "Утром до ".$t."°. ".$descr.". ";
}
//Сегодня днем
if ($xml->location->day[0]->forecast['tod'] == 2){
$t = $xml->location->day[0]->forecast->values['t'];
if($t>0){$t="+".$t;}
$descr = $xml->location->day[0]->forecast->values['descr'];
$today_day = "Днём до ".$t."°. ".$descr.". ";
}
//Сегодня вечером
if ($xml->location->day[0]->forecast['tod'] == 3){
$t = $xml->location->day[0]->forecast->values['t'];
if($t>0){$t="+".$t;}
$descr = $xml->location->day[0]->forecast->values['descr'];
$today_evening = "Вечером до ".$t."°. ".$descr.". ";
}
//Сегодня ночью
if ($xml->location->day[1]->forecast['tod'] == 0){
$t = $xml->location->day[1]->forecast->values['t'];
if($t>0){$t="+".$t;}
$descr = $xml->location->day[1]->forecast->values['descr'];
$today_night = "Ночью до ".$t."°. ".$descr.".";
}
$forecast = $today.$today_morning.$today_day.$today_evening.$today_night;
if(gg($city.".forecast")!=$forecast){sg($city.".forecast",$forecast);}
//Завтра
$tmin = $xml->location->day[1]['tmin'];
$tmax = $xml->location->day[1]['tmax'];
$descr = $xml->location->day[1]['descr'];
if($tmin>0){$tmin="+".$tmin;}
if($tmax>0){$tmax="+".$tmax;}
$tomorrow = "Завтра "." ".$tmin."° — ".$tmax."°. ".$descr.". ";
//Завтра ночью
if ($xml->location->day[2]->forecast['tod'] == 0){
$t = $xml->location->day[2]->forecast->values['t'];
if($t>0){$t="+".$t;}
$descr = $xml->location->day[2]->forecast->values['descr'];
$tomorrow_night = "Завтра ночью до ".$t."°. ".$descr.".";
}
$forecastTomorrow = $tomorrow.$tomorrow_night;
if(gg($city.".forecastTomorrow")!=$forecastTomorrow){sg($city.".forecastTomorrow",$forecastTomorrow);} Приношу благодарности:
[*] сайту Gismeteo за предоставленный доступ к погодным данным на мой город
[*] менеджеру Gismeteo Валерии Сердюк за её терпение
[*] пользователю нашего форума m-malva за его код из которого я надёргал некоторые кусочки/идеи
Моя Алиска живёт на Proxmox в Debian 12