Парсер погоды для любого сайта

Статус
В этой теме нельзя размещать новые ответы.

xoce

Создатель
Регистрация
22 Фев 2009
Сообщения
17
Реакции
1
Самому было актуально, решил написать простенький парсер, который берет информацию с сайта , для его использования необходимо узнать цифровое значение города пройдя по этой же ссылке и записать его в скрипт, данный скрипт выводит данные на 5 дней для области Санкт-Петербург.

данный скрипт засуньте к себе в любой файл, который использует функции и подключается к вашей системе.
PHP:
function getrp5 () 
{ 
 $scr = "http://wap.rp5.ru/7285/ru";
							$input = file_get_contents($scr);
							if(preg_match("|<td class=\"item\">(.*)</table>|isU",$input,$out)) {
							echo "<table>
							$out[0]";
							}else echo "Не могу вывести данные о погоде";
}

В любое место своего сайта с помощью тегов вставьте следующее

PHP:
<?php getrp5(); ?>

Все наслаждайтесь...

Если хотите, заменить значки на свои то создайте у себя в корне сайта папку pda/img/ и залейте картинки с названием погоды.

Пример работы скрипта можете посмотреть здесь:
 
Это конечно все хорошо, я понимаю что вы хотели поделиться с народом и т.д., но ветку то отдельную зачем поднимать? Подобных тем на форуме, а тем более в этом разделе полно, допустим можно было запостить в эту ветку данного раздела, тем более тема являеться прикрепленной:


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


В общем как говориться используйте поиск перед тем как создать новую тему.
 
  • Нравится
Реакции: xoce
Не в обиду... Просто для разминки немного дополнил ваш скрипт.

PHP:
<?php
function getrp5 ($file='cache.html', $time='3', $scr='http://wap.rp5.ru/7285/ru')
{
	if (!is_file($file) OR time()-@filemtime($file)>=$time)
	{
		$input = file_get_contents($scr); 
		if(preg_match('|<td class=\"item\">(.*)</table>|isU', $input, $out))
		{
			if (!@file_put_contents($file, '<table>'.$out[0])) echo 'Не могу сохранить данные о погоде. | ';
		}
		else echo 'Не могу получить данные о погоде. | ';
	}
	if (!@$data=file_get_contents($file))  echo 'Кеш отсутствует... Проверте CHMOD на файле: '.$file;
	else echo $data; 
}
getrp5();
?>

В принцепи просто добавил кешеирование. Иначе даже при 100-200 в сутки уже лишняя напряга...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху