Как погоду настроить
Модератор: immortal
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Как погоду настроить
Зачем вам регулярки? У нас есть модуль яндекс погоды, который умеет вытягивать оттуда погоду...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Как погоду настроить
Пользуюсь модулем OpenWeathernick7zmail писал(а): ↑Чт июл 14, 2016 2:02 pmКак скрипт? Работает? Я так понял - там только 4 раза в сутки погоду цеплять можно?Amarok писал(а):В общем у меня такой сценарий:Значение $url я получил после регистрации на сайте Gismeteo. Для этого надо написать письмо на data@gismeteo.ru и попросить предоставить доступ к прогнозу погоды в xml-формате. Мне ответила любезная девушка, задала пару вопросов, выслала анкету (её надо заполнить) и - через некоторое время - у меня появился свой прогноз.СпойлерПоказатьКод: Выделить всё
$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 за его код из которого я надёргал некоторые кусочки/идеи
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 25
- Зарегистрирован: Вс окт 13, 2019 10:17 am
- Откуда: Кашира
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: Как погоду настроить
Похожий вопрос уже был, но к сожалению я не смог применить указанный там ответ к решению моей проблемы
Со страницы ГисМетео
https://www.gismeteo.ru/weather-kashira-4373/
из кода
<div class="ii info_detail">
<div class="id_item title">Долгота дня
— 8 ч 21 мин</div>
<div class="id_item">Восход
— 8:01</div>
<div class="id_item">Заход
— 16:22</div>
</div>
Надо получить значение Восхода и Захода солнца.
Помогите.
Со страницы ГисМетео
https://www.gismeteo.ru/weather-kashira-4373/
из кода
<div class="ii info_detail">
<div class="id_item title">Долгота дня
— 8 ч 21 мин</div>
<div class="id_item">Восход
— 8:01</div>
<div class="id_item">Заход
— 16:22</div>
</div>
Надо получить значение Восхода и Захода солнца.
Помогите.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 261 раз
- Поблагодарили: 454 раза
Re: Как погоду настроить
Вот правда не понимаю, зачем надо завязываться на внешние сервисы, если PHP умеет вычислять время восхода и заката Солнца.
Все делается в одну строчку (viewtopic.php?f=27&t=2215&start=41).
Вам надо только знать свои координаты. Ну и часы чтобы на компьютере правильную дату показывали.
- За это сообщение автора Chainik поблагодарил:
- Ko/|xo3HUk (Вс ноя 17, 2019 10:29 pm)
- Рейтинг: 1.16%