Страница 7 из 15

Re: Как погоду настроить

Добавлено: Пт ноя 29, 2013 8:15 am
Amarok
msh555 писал(а):подсел на прогноз от СИНОПТИКА
А можно код вытаскивания погоды посмотреть?

Re: Как погоду настроить

Добавлено: Пт ноя 29, 2013 9:24 am
ErmolenkoM
BlackWarrior писал(а):А можно код вытаскивания погоды посмотреть?

Код: Выделить всё

\<div class="description"\>\<h2\>Прогноз погоды в Самаре на сегодня\<\/h2\>: (.+?)\<\/div\>
наверное обратных слешей многовато. Экранировать надо только прямые.
но у меня так :-)
и да. Обновление МЖД должно быть, ибо правилось веб-вар недавно.

Re: Как погоду настроить

Добавлено: Пт ноя 29, 2013 10:39 am
Amarok
msh555 писал(а):
BlackWarrior писал(а):А можно код вытаскивания погоды посмотреть?

Код: Выделить всё

\<div class="description"\>\<h2\>Прогноз погоды в Самаре на сегодня\<\/h2\>: (.+?)\<\/div\>
наверное обратных слешей многовато. Экранировать надо только прямые.
но у меня так :-)
и да. Обновление МЖД должно быть, ибо правилось веб-вар недавно.
А как температуру выдернуть?

Re: Как погоду настроить

Добавлено: Пт ноя 29, 2013 3:42 pm
ErmolenkoM
BlackWarrior писал(а):
msh555 писал(а):
BlackWarrior писал(а):А можно код вытаскивания погоды посмотреть?

Код: Выделить всё

\<div class="description"\>\<h2\>Прогноз погоды в Самаре на сегодня\<\/h2\>: (.+?)\<\/div\>
наверное обратных слешей многовато. Экранировать надо только прямые.
но у меня так :-)
и да. Обновление МЖД должно быть, ибо правилось веб-вар недавно.
А как температуру выдернуть?
Вот так:

Код: Выделить всё

<p class="today-temp">(.+?)&deg;C<\/p>
Я немного обновил инфу по веб-переменным в Вики. http://smartliving.ru/Main/ModuleWebvars
Открываем страницу для грабежа. -> Просмотр HTML кода -> Находим интересуещие нас значение, далее по Вики

Re: Как погоду настроить

Добавлено: Вс дек 01, 2013 2:27 pm
viris
msh555 писал(а):
viris писал(а):Как с этой страницы http://arny.stirol.net/cgi-bin/eco/weat ... /index.php вытянуть все данные
1. Создать веб переменную. http://smartliving.ru/Main/ModuleWebvars
2. Указать сайт. http://arny.stirol.net/cgi-bin/eco/weat ... /index.php
3. Кодировка windows-1251
4. Указать шаблон

Код: Выделить всё

Радиационный фон<\/th><th width=20><br><\/th><th align=left>(.+?) мкР
5. Связать с переменной в системе.

И так для каждого добываемого параметра. В шаблонах не забудь экранировать прямой слеш.

И еще вопрос. Это погода где?
Украина г.Горловка а данные предоставляет ОАО Концерн Стирол. У них по городу расставлены посты наблюдения. Там ещё много разных параметров есть http://arny.stirol.net/eco/rep.html

Re: Как погоду настроить

Добавлено: Вс дек 08, 2013 6:24 pm
immortal
сайт: http://ru-meteo.ru/vologda

работает:

Код: Выделить всё

<td class="temp t-?\d+">(.+?)°<\/td>
не работает:

Код: Выделить всё

<td class=​"leftcol">(.+?)<\/td>
не пойму почему

Re: Как погоду настроить

Добавлено: Пн дек 09, 2013 1:55 pm
immortal
проблема с нерабочими регулярными выражениями может быть в следующем, при вставке так же вставляются не отображаемые символы (как показано на рисунке), лечиться так: вставляем, сохраняем, потом открываем редактирование и дважды кликаем на поле с регулярным выражением и видем символы, потом просто их удаляем

Re: Как погоду настроить

Добавлено: Пн дек 09, 2013 2:15 pm
immortal
вот мои регулярные выражения (путь свои города)

Температура Яндекс
http://pogoda.yandex.ru/vologda/
<div class="b-thermometer__now">(.+?) °C<\/div>

Давление Яндекс
http://pogoda.yandex.ru/vologda/
Давление: <\/span>(.+?) мм

Влажность Яндекс
http://pogoda.yandex.ru/vologda/
Влажность: <\/span>(.+?)%

Для http://pogoda.by/
Температура
http://pogoda.by/27037
windows-1251
Температура воздуха (.+?)°C

Скорость ветра
http://pogoda.by/27037
windows-1251
Ветер (.+?) м\/с

Re: Как погоду настроить

Добавлено: Вт дек 10, 2013 11:28 am
PAV
Прикручиваем погоду Yandex: http://computer-service.pro/smf/index.php?topic=30.0
Код для Москвы:
Сценарий

Код: Выделить всё

$city_id=27612;
$data_file="http://export.yandex.ru/weather-ng/forecasts/$city_id.xml?".rand(); // адрес xml файла

$xml = simplexml_load_file($data_file); // раскладываем xml на массив

$temp=$xml->fact->temperature;
// Если значение температуры положительно, для наглядности добавляем "+"
if ($temp>0) {$temp='+'.$temp;}
sg("Moscow.Temp",$temp);
sg("Moscow.City",Москва);
sg("Moscow.Type",$xml->fact->weather_type);
sg("Moscow.Pressure",$xml->fact->pressure);
sg("Moscow.Humidity",$xml->fact->humidity);
sg("Moscow.WindSpeed",$xml->fact->wind_speed);
sg("Moscow.Image",$xml->fact->image);
sg("Moscow.UpTime",$xml->fact->uptime);


$dir = $xml->fact->wind_direction;
switch ($dir){
   case 's':
     $dir="южное";
     break;
   case 'n':
     $dir="северное";
     break;
   case 'w':
     $dir="западное";
     break;
   case 'e':
     $dir="восточное";
     break;
   case 'sw':
     $dir="юго-западное";
     break;
   case 'nw':
     $dir="северо-западное";
     break;
   case 'calm':
     $dir="штиль";
     break;
}
sg("Moscow.WindDir",$dir);
sg("Moscow.SunRise",$xml->day[0]->sunrise);
sg("Moscow.SunSet",$xml->day[0]->sunset);
Код Меню управления

Код: Выделить всё

<div align="center"><font size="5" color="brown" face="Arial"><b>Погода Yandex</b></font></div><br><br>
<img src="http://img.yandex.net/i/wiz%Moscow.Image%.png" alt="%Moscow.Type%" title="%Moscow.Type%"> %Moscow.Type% <font size="5" color="brown" face="Arial">%Moscow.Temp%</font><sup>o</sup>C<br>
Давление  <font size="5" color="brown" face="Arial">%Moscow.Pressure%</font> мм.рт.ст<br>
Влажность <font size="5" color="brown" face="Arial">%Moscow.Humidity%</font> %<br>
Скорость ветра <font size="5" color="brown" face="Arial">%Moscow.WindSpeed%</font>  м/с %Moscow.WindDir%<br>
<b>Восход солнца <font size="5" color="brown" face="Arial">%Moscow.SunRise%</font></b><br>
<b>Заход солнца <font size="5" color="brown" face="Arial">%Moscow.SunSet%</font></b><br><br>
<b>Последнее обновление <font size="3" color="brown" face="Arial">%Moscow.UpTime%</font></b><br><br>

Re: Как погоду настроить

Добавлено: Вт дек 10, 2013 2:38 pm
ErmolenkoM
PAV писал(а):

Код: Выделить всё

$city_id=27612;
$data_file="http://export.yandex.ru/weather-ng/forecasts/$city_id.xml?".rand(); // адрес xml файла
А можно вопрос? Как это работает? То есть:
1. Как значение переменной попадает внутрь строковой константы?
2. Зачем get-параметр - случайное число?

И самое странное, что код работает, у самого такой, но как?

UPDATE: RND для того, что бы избежать кеширования.