Текстовый информер погоды

  • Автор темы finogeev
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
F

finogeev

Прохожие
Не бейте меня, т.к. ответа не нашел ...

Кто знает как можно вытащить погоду с любого портала (Гисметео, яндекс, гидромецентр и т.п.) ... Мне нужен не графический или рекламный информер, а именно что бы он был полностью настраевым ... Короче в виде текста, или вообще код который бы парсил или брал напрямую у них ...

С курсом валют нашел код ...
 

D@nil

Постоялец
Регистрация
1 Окт 2006
Сообщения
340
Реакции
122
Парсишь с gismeteo.ru погоду и выдаешь ее пользователю через JS.

Примеры реализации найдешь погуглив по запросу информер погода
 

gls

Комбат
Регистрация
11 Янв 2007
Сообщения
588
Реакции
308
вот так сделал, работает! проверьте может что ни так!
а как его прикручивать? пробовал запускать непосредственно его, и инклудил - нифига не пашет
 

anz

Level XXL
Регистрация
17 Окт 2006
Сообщения
929
Реакции
315
а как его прикручивать? пробовал запускать непосредственно его, и инклудил - нифига не пашет
инклудом, пашет и на php4 и php 5 нужет CURL и разрешены внешние соединения и работа XML - вроде всё

p/s/ путь от корня до временного файла, попробуй его сначало создать.
 

diavolic

Постоялец
Регистрация
17 Мар 2010
Сообщения
519
Реакции
102
уже скидывал где то здесь свой скрипт на рп5. остальные погодники парсятся подобным образом.

PHP:
function getrp5 ($num=123) на входе номер города с сайта rp5
{
	if (($num<1) || ($num>60000)) $num=123;
	$st = "";
	$st1 = "";
	$fl = file_get_contents ("http://wap.rp5.ru/$num/ru"); 
	$fl = utf2win($fl);
	if (preg_match ("/<h1>([^<]+)/i", $fl, $rg))
	{
		$st1 = "Прогноз погоды для г.".$rg[1]."\r\n\r\n";
	} else
		$st1 = "Город для поргноза погоды не определен [$num]\r\n\r\n";

	if (preg_match ("/<table>([^~]+)<\/table>/i", $fl, $rg))
	{
		$st = $rg[1];
		$st = preg_replace ("/<td[^>]*>/i", "",$st);
		$st = preg_replace ("/<font[^>]*>/i", "",$st);
		$st = preg_replace ("/<tr[^>]*>/i", "",$st);
		$st = preg_replace ("/<img[^>]*>/i", "",$st);
		$st = preg_replace ("/<\/td>/i", "",$st);
		$st = preg_replace ("/<\/tr>/i", "\n",$st);
		$st = preg_replace ("/<\/font>/i", "",$st);
		$st = preg_replace ("/&ordm;/i", " ",$st);
		$st = preg_replace ("/<b>/i", "",$st);
		$st = preg_replace ("/<\/b>/i", "",$st);
		$st = preg_replace ("/<br \/>/i", "\n",$st);
		$st = str_replace ("%\n", "%\n\n-----------------------------------\n\n", $st);
		$st = str_replace ("%)", "% )", $st);
		$arr = explode ("\n", $st);
		$st = $arr[0]."\r\n\r\n-----------------------------------\r\n\r\n";
		for ($i=1; $i<count ($arr); $i++)
			$st .= trim ($arr[$i])."\r\n";
	}
	return $st1.$st;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху