[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: RSS crawler
Episode
Ребята, помогите написать скрипт, который читал бы стрим определенного сайта.

Все бесплатные и платные сервисы в интернете я перепробовал. Мне в результате нужен просто стрим RSS новостей с сайта www.mydarkclan.com
Как понимаете, доступа к сайту у меня нет.

В интернете нашел скрипт, но не работает:
 <?php 

function
print_rss($url_rss,$file_rss,$hclock,$kol_print_news)
{
//$url_rss - URL-адрес RSS потока
//$file_rss - адресс файла для хранения RSS-новостей
//$hclock - время обновления, в часах
//$kol_print_news - количество выводимых новостей




if (!file_exists($file_rss) || ( filemtime($file_rss) + $hclock*60*60 < time() ) )//если файл не сохраняли, то сохраняем на локальном сервере или если существует, то проверяем устарел ли файл (не более Х часов назад он записан)
{
if (@!copy ($url_rss,$file_rss))
return (false);

$text_rss=file($file_rss);
$text_rss=implode("",$text_rss);
//преобразуем кодировку данных
//если не нежно конвертировать кодировку, то комментируем ниже идущее условие или редактируем

if (preg_match('/<?xml[^>]+encoding[\s]*=[\s]*("|\')windows-1251("|\')[^>]+?>/i', $text_rss))
{

$text_rss = iconv("cp1251", "utf-8", $text_rss);
file_put_contents($file_rss, $text_rss);//пишем данные обратно в файл

}
}



$text_rss=file($file_rss);
$text_rss=implode("",$text_rss);

$url_image = "";
$image_is=preg_match("#<image>(.*?)</image>#is",$text_rss,$image_m);

if ( $image_is )
{

$image_url_is = preg_match("#<url>(.*?)</url>#is",$image_m[0],$image_t);

if ( $image_url_is )
$url_image = $image_t[1];
}

$mas_item=array();
preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);

$one_item=array();
$t="";

$t.=( $url_image ? "<div><img src='".$url_image."' ></div>" :"");

$kol=0;
if (sizeof($mas_item)>0)

{

foreach ($mas_item[0] as $one_item)
{

$kol++;
$t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);
$l_is=preg_match("#<link>(.*?)</link>#is",$one_item,$link);
$d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);



if ($t_is && $l_is)
{
$title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);
$link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);
$description[1]=preg_replace("#<\!\[CDATA\[#eis","'\\1'",$description[1]);
$description[1]=preg_replace("#]\]>#eis","'\\1'",$description[1]);



$t.="<div><a href='".$link[1]."' target='_blank'>".$title[1]."</a>
<br>"

.$description[1]

.
"</div>";

}
if ($kol >= $kol_print_news) break;
}
}


echo ($t);


return (true);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.