Php Парсер Xml Гисметео

Php Парсер Xml Гисметео

Php Парсер Xml Гисметео Rating: 4,9/5 2429votes

Грабер сайта погоды граббер на php с gismeteo.ru Погода гисметео.

Пример обработки xml данных с помощью PHP. Рассмотрено получение данных, создание парсера и функций обработчиков. В нём, как мы видим, три файла — собственно, сам сниппет (файл gismeteo.php, для. Иными словами, для каждого города мы получаем XML-исходник. Да, не очень удобно, что аж три этапа парсинга, да ещё и . Лучше воспользуйтесь ресурсами, которые отдают погоду в XML. Gismeteo, Yahoo и прочие. Во-вторых, правовой момент: Цитата: .

Php Парсер Xml ГисметеоPhp Парсер Xml ГисметеоPhp Парсер Xml Гисметео

Поскольку содержать свою собственную метеослужбу большинству людей по меньшей мере накладно, куда логичнее воспользоваться каким- нибудь из ресурсов, предоставляющих бесплатные погодные информеры на достаточно мягких основаниях (всего лишь надо поставить ссылку на их сайт). Один из самых известных и популярных сервисов — это gismeteo. Но его стандартные информеры подойдут далеко не каждому?

Вот, например, недавний заказчик, туристическая компания, захотела информер со списком мест, в которых они работают. Вот такой (скриншот конечного результата): Думаете, так сделать нельзя? Ещё как можно, и, более того, я уже облегчила вам работу, сегодня за вечерок написав специальный сниппет для MODx с парой демо- шаблонов!

Собственно, качем маленький архивчик. В нём, как мы видим, три файла — собственно, сам сниппет (файл gismeteo. Собственно, думаю, для человека, знакомого с идеологией MODx, не возникнет проблем с инсталляцией: идём в «управление ресурсами», создаём новый сниппет, называем его, допустим, Gismeteo — и копипастим туда содержимое файла gismeteo.

Так же и с шаблонами — для каждого из них создаём чанк (я старалась придерживаться идеологии MODx и не использовать подключение файлов с жёсткого диска без особой нужды), причём было бы неплохо один из этих чанков назвать . Почему, собственно, XSLT — хотя это не самая быстрая, казалось бы, технология? Да потому, что Gismeteo предлагает очень удобную фичу — получение погодных сводок в XML- формате. И именно при помощи XSLT- шаблонов мы можем представить эту информацию как угодно, сведя к минимуму «зашивание» представления информации в php- код и существенно сэкономив количество строчек этого самого кода. И, более того, ведь нас никто не ограничивает — за один вызов сниппета мы можем запросить информацию сразу по нескольким городам, наложив потом на эту информацию общий шаблон представления. Что- то типа: ? Параметр tpl — это имя чанка с XSLT- шаблоном (по умолчанию — «informer»). Параметр source — разделённый запятыми список URL- ов, по которым лежат XML- информеры для нужных вам городов (получить эти URL- ы можно по ссылке выше).

Если параметр source не указывать, по умолчанию он будет равен информеру для столицы нашей славной родины : )Как это работает. Сам сниппет выводит таблицу с заголовком.

Внутри неё запускается итератор по всему списку значений параметра source. Иными словами, для каждого города мы получаем XML- исходник, перекодируем его в нормальный человеческий UTF- 8 (а то в оригинале оно отдаётся в гадском cp. XSL- стиль (преобразуем в нормальные < tr> -ы для таблицы, проще говоря) — и потом заменяем в получившемся HTML- е числовые значения для параметров «облачность» и «осадки» на нормальные словесные аналоги.

Да, не очень удобно, что аж три этапа парсинга, да ещё и приходится «жёстко» зашивать в шаблон классы cloudiness и precipitation — но, увы, тут ничего не поделаешь, ибо хозяин — барин, как захотел отдать XML, так его и отдал. Ну да ладно. Подробности всего этого можно посмотреть в коде — благо он совсем маленький, да ещё и с комментариями.

В конечном итоге мы получаем аккуратненькую табличку — и над ней уже можем всячески извращаться при помощи CSS, «затачивая» её под дизайн всего остального. В общем — enjoy! Думаю, найдутся таки те, кому эта маленькая, но полезная штучка пригодится. Нет, сайт Gismeteo мне не платит за рекламу, не подумайте : ).

Создаем информер погоды на своем сайте. В сегодняшней статье я расскажу Вам, как при разработке сайта я сделал информер погоды для него. И все это конечно хорошо, но есть один недостаток. Как правило такие сервисы не позволяют изменить внешний вид информормера. Поэтому приходится все делать самому. Для этого  мы воспользуемся замечательным сервисом http: //informer. XML о погоде. Это можно сделать здесь.

В качестве примера я выбрал свой родной и любимый город Донецк! PRESSUREатмосферное давление, в мм. TEMPERATUREтемпература воздуха, в градусах Цельсия. WINDприземный ветер  min, maxминимальное и максимальное значения средней скорости ветра, без порывов  direction направление ветра в румбах, 0 - северный, 1 - северо- восточный,  и т. RELWETотносительная влажность воздуха, в %HEATкомфорт - температура воздуха по ощущению одетого по сезону человека, выходящего на улицу. Итак, прогноз погоды выдается сразу для 4 времен суток. Это: 0 – ночь, 1 - утро, 2 - день, 3 – вечер.

Но так как мы хотим показывать у себя на сайте актуальную информацию о погоде, нам необходимо будет в начале определить время суток, а лишь потом, заносить информацию в базу данных! Итак, с целями и задачами определились. Теперь переходим к непосредственному парсингу XML- документа. Если вы работаете с РНР версии 5. Simple. XML у вас включена по умолчанию, если это не так, используйте опцию конфигурации - -enable- simplexml (или - -disable- simplexml для отключения). Прежде чем продолжить создадим таблицу в базе данных, в которой будет храниться информация о погоде.

Для этого необходимо выполнить следующий SQL- запрос. CREATE TABLE IF NOT EXISTS `weather` (. Но в данном примере мы будем рассматривать парсинг для одного конкретного города!

Итак, идем дальше. Дальше вставим в эту таблицу данные.

Это делается так. INSERT INTO `weather` (`city! Это может быть как файл, так и просто строковая переменная, содержащая XML- код. В нашем случае XML- документ представляет из себя файл, поэтому загружать мы его будем следующим образом. Инструкция По Грузоподъемным Кранам далее. Это можно сделать так. Теперь его надо поставить на cron (планировщик задач) и запускать этот скрипт 4 раза в сутки:  2, 8, 1. Теперь дело за малым!

Осталось вывести всю эту информацию на странице! Я особо не буду . Подключим файл db.

Далее сделаем выборку из базы данных для нужного нам города. Для этого будем использовать следующую html- разметку. Скачать исходники и изображения можно здесь! Надеюсь Вам пригодится эта информация!