Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужна помощь с грабером погоды
 
 автор: BelMedia   (22.02.2006 в 23:47)   письмо автору
 
 

cheops .. :))

Хочу на свой сайт всунуть блок "Погода" .. сграбить нужно с сайта _www.pogoda.by

вот скрин-пример этого блока ... _http://korzina.be/pogoda.gif

мог бы ты написать код для этого случая ? (к примеру: как горо, анекдоты...)

   
 
 автор: 3   (23.02.2006 в 14:50)
 
   для: BelMedia   (22.02.2006 в 23:47)
 

up

   
 
 автор: cheops   (24.02.2006 в 13:22)   письмо автору
 
   для: BelMedia   (22.02.2006 в 23:47)
 

Хм... но ведь сайт тоже откуда-то берёт погоду - может лучше взять её из первоисточника, где она зачастую в виде XML-файла?
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6842
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=7535
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6155

   
 
 автор: BelMedia   (24.02.2006 в 15:28)   письмо автору
 
   для: cheops   (24.02.2006 в 13:22)
 

Огромное спасибо cheops )))

   
 
 автор: Sergey89   (24.02.2006 в 15:46)   письмо автору
 
   для: BelMedia   (24.02.2006 в 15:28)
 

www.gismeteo.ru - дают данные в XML формате.

   
 
 автор: BelMedia   (24.02.2006 в 17:46)   письмо автору
 
   для: Sergey89   (24.02.2006 в 15:46)
 

Спасиб за подсказку...
теперь ломацкий вопрос..
вот дали мне http://informer.gismeteo.ru/xml/26850_1.xml
хмл страница с кодом...
а как ее теперь к себе запихнуть.. на сайт ..

(не работал с хмл)

   
 
 автор: BelMedia   (25.02.2006 в 01:13)   письмо автору
 
   для: BelMedia   (24.02.2006 в 17:46)
 

в данном случае нашел два варианта вставки файла .xml в html страницу :

<XML src="pogoda.xml" id="xmlData"></XML>
и
<XML ID="xmlData" SRC="pogoda.xml"></XML>

однако информация не выводится ...

сохранил файл xml в корневой директории на сервере... pogoda.xml

   
 
 автор: BelMedia   (25.02.2006 в 03:14)   письмо автору
 
   для: BelMedia   (25.02.2006 в 01:13)
 

Странно .. пробывал вывести файл по ссылке первоисточника.. нет реакции ..

   
 
 автор: ru   (25.02.2006 в 03:41)
 
   для: BelMedia   (25.02.2006 в 03:14)
 

up

   
 
 автор: cheops   (25.02.2006 в 13:15)   письмо автору
 
   для: BelMedia   (25.02.2006 в 01:13)
 

Нет погодите вы должны сначала выбрать нужный вар регион - получить XML-файл и разобрать его - с разбором поможем.

   
 
 автор: BelMedia   (25.02.2006 в 16:26)   письмо автору
 
   для: cheops   (25.02.2006 в 13:15)
 

Нужный город выбран... выдали ссылку : http://informer.gismeteo.ru/xml/26850_1.xml
(Ниасилил установку... не знаком с парсингом..)

1) Пробывал вставить через: <XML src="xmldoc.xml" id="xmlData"></XML> (не работает)

2) Ответ админа гисметео: "Я не знаю про такую конструкцию xml src. Информер расчитан на загрузку и парсинг на стороне сервера."

Ребята помогите....

   
 
 автор: cheops   (25.02.2006 в 20:36)   письмо автору
 
   для: BelMedia   (25.02.2006 в 16:26)
 

Можно поступить примерно следующим образом
<?php
  $text 
file_get_contents("http://informer.gismeteo.ru/xml/26850_1.xml");

  
$pattern "|<FORECAST day=\"([\d]+)\" month=\"([\d]+)\" year=\"([\d]+)\" hour=\"([\d]+)\" tod=\"([\d]+)\" predict=\"([\d]+)\" weekday=\"([\d]+)\".*<PRESSURE max=\"([\d]+)\" min=\"([\d]+)\".*<TEMPERATURE max=\"([^\"]+)\" min=\"([^\"]+)\".*<WIND min=\"([^\"]+)\" max=\"([^\"]+)\" direction=\"([^\"]+)\"|isU";
  
$text preg_match_all($pattern$text$out); 
  for(
$i 0$i count($out[0]); $i++)
  {
    echo 
"<b>".$out[3][$i].".".$out[2][$i].".".$out[1][$i]."</b><br>";
    echo 
"Давление ".$out[8][$i]." ... ".$out[9][$i]."<br>";
    echo 
"Температура ".$out[10][$i]." ... ".$out[11][$i]."<br>";
    echo 
"Ветер ".$out[12][$i]." ... ".$out[13][$i]." (направление ".$out[14][$i].")<br><br>";
  }
?>

   
 
 автор: BelMedia   (26.02.2006 в 01:06)   письмо автору
 
   для: cheops   (25.02.2006 в 20:36)
 

Выводит в таком виде:

2006.2.26
Давление 739 ... 737
Температура -6 ... -8
Ветер 1 ... 3 (направление 6)

2006.2.26
Давление 736 ... 734
Температура -6 ... -8
Ветер 1 ... 3 (направление 5)

2006.2.26
Давление 733 ... 731
Температура -4 ... -6
Ветер 1 ... 3 (направление 6)

2006.2.26
Давление 733 ... 731
Температура -5 ... -7
Ветер 1 ... 3 (направление 0)

   
 
 автор: cheops   (26.02.2006 в 12:51)   письмо автору
 
   для: BelMedia   (26.02.2006 в 01:06)
 

Вы можете в любом другом виде представить этот блок - все цифры у вас на руках.

   
 
 автор: Sergey89   (25.02.2006 в 17:41)   письмо автору
 
   для: BelMedia   (25.02.2006 в 01:13)
 

так нельзя делать. Надо парсить сам XML код.

   
 
 автор: BelMedia   (25.02.2006 в 19:45)   письмо автору
 
   для: Sergey89   (25.02.2006 в 17:41)
 

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

   
 
 автор: BelMedia   (25.02.2006 в 19:49)   письмо автору
 
   для: Sergey89   (25.02.2006 в 17:41)
 

Как собственно парсить XML код .... ?

   
 
 автор: ASK_EL   (27.02.2006 в 14:01)   письмо автору
 
   для: BelMedia   (25.02.2006 в 19:49)
 

Меня тоже интересует именно этот парсер как его применить к такому xml?
Я смотрел как это делают когда там просто <title>Название1</title> а если в нем есть 2 значения то как тогда поступать?

   
 
 автор: Smival   (28.02.2006 в 21:52)   письмо автору
 
   для: ASK_EL   (27.02.2006 в 14:01)
 

по парсингу ХМЛ всё прекрасно описано в переводе php мануала...

   
 
 автор: Smival   (28.02.2006 в 21:59)   письмо автору
 
   для: Smival   (28.02.2006 в 21:52)
 

Кстати, товарисчи, а как на вышеуказанном сайте получить в ХМЛ погоду на 3 дня а не на один??

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования