Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Разное | Вопросы / Жалобы / Предложения
# 1 Тема: Rss парсер
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 17 Августа 2008, 11:53:59
Здравствуйте. У меня был сайт на укозе, у них в панели была функция Rss каналы: т.е. В форму ввводиш адрес потом выдается код скрипта, его вставляеш в сайт и транслируются новости, все бы хорошо но только ослик их превращает в кракозяблы на других сайтах. Возможно ли реализовать такую функцию на Fusionе? Это как бы пожелание пользователя вашей cmssmiley


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 2  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 17 Августа 2008, 15:36:38
Есть такое


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 3  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 17 Августа 2008, 17:27:22
Есть в смыслe нa fusione? Eсли дa, то гдe инфо посмотрeть?


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 4  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 17 Августа 2008, 22:55:29
А хз=) Надо искать, непомню где видел


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 5  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 24 Августа 2008, 13:40:41
Какой код скрипта то? Если пхп мож смонтировать его просто под фузион?


--------------------
Retired
^ наверх ^
# 6  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 06 Сентября 2008, 16:13:05
Нашел панельку,но чета она нефурычит,пишет незадан канал для чтения, вот гляньте,может я что не так делаю а может доработать нада, думаю многим пользователям fusiona она пригодиться.
Прикрепленные файлы
Для просмотра вложения зарегистрируйтесь


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 7  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 06 Сентября 2008, 16:27:49
А ты в админке как плагин устанавливал? Настройки в админке менял?


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 8  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 06 Сентября 2008, 16:57:16
Знаем такую - в ней русские буквы косячат, и картинок нету.


--------------------
Retired
^ наверх ^
# 9  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 06 Сентября 2008, 17:06:26
А где другую найти? Весь инет перерыл ничего ненашелsmiley


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 10  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 06 Сентября 2008, 18:22:20
А хы зы smiley

У меня был парсер ничешный, но он картинки тоже косячно отображал, а решил переделать, так оказалось проще новый написать...

Может оно и правда проще - там по сути замена одних тегов - XML на другие - HTML smiley


--------------------
Retired
^ наверх ^
# 11  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 06 Сентября 2008, 20:48:41
Гляньте еще файлик, мож с него что нибудь получиться?
Прикрепленные файлы
Для просмотра вложения зарегистрируйтесь


[Изменил(а) Zlyd, 06 Сентября 2008, 22:19:04]

--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 12  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 06 Сентября 2008, 20:50:37
pozitiv написал:
А ты в админке как плагин устанавливал? Настройки в админке менял?

Ставил с админки, встал ровно, исходный код отображал на отдельной странице, а вот на сайте никак? Да я б и не мучался с ним, просто у меня партнерский контент проще парсером выводить чем вручную перепечатывать


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 13  
Zlyd
Пользователь

Avatar пользователя

Юзер

Местный

Сообщений: 44
Откуда: Россия г.Омск
Зарегистрирован: 22 Марта 2008, 10:42:45
Сказали спасибо 0 раз
Статус: offline
ICQ статус 408838212
Опубликовано 11 Декабря 2008, 00:00:20
Жаль что тема умерла, ща все вручную делаю, хотя еслиб этот плагин в движок включить, было бы очень хорошо!smiley


--------------------
Я не волшебник, а только учусь smiley Проект самоучителя:http://omskinet.ru
^ наверх ^ 408838212 http://omskinet.ru
# 14  
Жан
Пользователь

Avatar пользователя

Любитель Пива.

Любитель Fusion

Сообщений: 122
Зарегистрирован: 14 Июня 2007, 00:25:45
Сказали спасибо 2 раз
Статус: offline
ICQ статус 494430057
Опубликовано 24 Декабря 2008, 23:56:16
Я бы тоже парсер поставил..Хорошая штука..На укозе тоже есть сайты, мне когда некогда писать новости, я парсер ставлю, и каждый раз новый контент..


--------------------
Сео консультация, раскрутка сайтов, увеличение продаж
аська 494430057
^ наверх ^ 494430057 http://www.j-vs-v.ru/
# 15  
Psc
SF Team

Avatar пользователя

Psc

SF Support Team

Почетный SF

Сообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз
Статус: offline
Опубликовано 27 Декабря 2008, 11:41:30
По сабжу - парсер норм, но с фиксированным списком рсс, а не с динамикой под юзера.
Работает строго на 1251 вин кодировке.

А еще - косячит с картинками и флэшками - если они есть в рсс.
Предлагаю их глушить в коде (я глушу заменяя тег img на любой НЕ тег - он игнорируется браузером по стандарту если кто не знает) smiley

Это вроде пост нумер 6 рсс парсер панель 2,11 версия.


--------------------
Retired
^ наверх ^
# 16  
evroplex
Пользователь

Avatar пользователя




новичек

Сообщений: 9
Зарегистрирован: 15 Августа 2008, 00:26:33
Сказали спасибо 4 раз
Статус: offline
Опубликовано 19 Января 2009, 17:03:26
Касаемо трансляции RSS - лент других сайтов у себя я делаю так (добавлено ограничение на кол-во новостей и длину новости, а также кэширование в текстовый файл, чтобы не дёргать сторонние серверы):

Создаю новую панель, обзываю например "Лента№1", со следующим кодом:


if(substr_count($_SERVER['REQUEST_URI'],'faq.php') > 0 ) {
openside("новости с сайта такого-то");

$cashe_filename = $_SERVER['DOCUMENT_ROOT']."/faq.txt";

// wrap string by len, save existing words
function wrap_by_len($str, $max_len, $endimiter = '…')
{
if( strlen($str) <= ($max_len - strlen($endimiter)) ) return $str ;

$result_str = '';
$words = explode(" ", $str);
$max_len -= strlen($endimiter);

for( $i = 0; strlen($result_str) < $max_len; $i++ )
$result_str .= $words[$i].' ';

$result_str = rtrim($result_str," ,");

return $result_str.$endimiter ;
}

/**********************************************************
* Parse XML data into an array structure *
* Usage: array parse_rss ( string data ) *
**********************************************************/
function parse_rss($reg_exp, $xml_data) {
preg_match_all($reg_exp, $xml_data, $temp);
return array(
'count'=>count($temp[0]),
'title'=>$temp[1],
'link'=>$temp[2],
'desc'=>$temp[3]
);
}

/**********************************************************
* Parse Array data into an HTML structure *
* Usage: string parse_rss ( array data ) *
**********************************************************/
function output_rss($pattern, $rss_data, $counter, $maxlen )
{
$result = '';

for($i=0; $i<$rss_data['count'] && $i<$counter; $i++)
{
$rss_data['desc'][$i] = wrap_by_len($rss_data['desc'][$i], $maxlen);

$result .= sprintf($pattern,
$rss_data['link'][$i],
html_entity_decode($rss_data['title'][$i]),
html_entity_decode($rss_data['desc'][$i])
);
}
return $result ;
}

/**********************************************************
* Settings *
**********************************************************/
$cashe_good_time = 3600; // in seconds
$counter = 6;
$maxlen = 300;
$url = 'http://адрес ленты';

$reg_exp = '#<item>.*?<title>(.*?)<\/title>.*?';
$reg_exp .='<link>(.*?)<\/link>.*?<description>';
$reg_exp .='(.*?)<\/description>.*?<\/item>#si';

$pattern = '<p><noindex><a rel="nofollow" target="_blank" href="%s">%s</a></noindex><br>%s</p>';

/**********************************************************
* Main script *
**********************************************************/

$refresh_cashefile = true ;
$data_is_output = false ;

// check cashe file modifications if file exist nad readalbe
if( file_exists($cashe_filename) )
{
$fileage = time() - filemtime( $cashe_filename );

// good cashe state, out cashe content and out here
if( $fileage < $cashe_good_time )
{
$refresh_cashefile = false ;
echo file_get_contents($cashe_filename);
$data_is_output = true ;
}
}

if( !$data_is_output )
{
if( $xml_data = file_get_contents($url) )
{
$rss_data = parse_rss($reg_exp, $xml_data);
$content = output_rss($pattern, $rss_data, $counter, $maxlen);

/* if( extension_loaded('mb_string') )
$content = mb_convert_encoding($content, "utf-8", "windows-1251");
elseif( extension_loaded('iconv') )
$content = iconv('utf-8', 'windows-1251', $content); */

// need refresh cashe file' content
if( $refresh_cashefile )
{
$fp = fopen($cashe_filename, "w");

if( $fp )
{
fwrite($fp, $content);
fclose($fp);
}
}

// out content
echo $content ;
}
}
closeside();
}



Примечания:

-
$cashe_filename = $_SERVER['DOCUMENT_ROOT']."/faq.txt";


здесь указываете свой файл кэша, выставляете права на запись;

-
$cashe_good_time = 3600; // in seconds
$counter = 6;
$maxlen = 300;
$url = 'адрес ленты';


настройки скрипта, соответственно частота обновления кэша в сек, кол-во новостей из ленты, кол-во символов в описании новости, адрес rss-ленты.

- ссылки в отображаемом контенте закрыты от яндекса и гугля;

- в данном коде перекодировки нет, сайт-донор в windows-1251, php-fusin sf тоже в windows-1251;

- для перекодировки, например из utf-8 в windows-1251 раскоментируйте следующий код

/* if( extension_loaded('mb_string') )
$content = mb_convert_encoding($content, "utf-8", "windows-1251");
elseif( extension_loaded('iconv') )
$content = iconv('utf-8', 'windows-1251', $content); */



- код
if(substr_count($_SERVER['REQUEST_URI'],'faq.php') > 0 )

отвечает за вывод панели только на страницах раздела FAQ, если например хотите, чтобы отображалось только в разделе фотогалерея, меняем faq.php на photogallery.php

Для каждого раздела сайта и каждой ленты создаём свои панельки и файлы кэша. Всё )))

Пользуйтесь на здоровье, не забывайте нажимать кнопочку СПС )))


[Изменил(а) evroplex, 21 Января 2009, 19:15:13]  
^ наверх ^
3 пользователей сказали спасибо Вам: GETJOB, genrih, nikolol
# 17  
Жан
Пользователь

Avatar пользователя

Любитель Пива.

Любитель Fusion

Сообщений: 122
Зарегистрирован: 14 Июня 2007, 00:25:45
Сказали спасибо 2 раз
Статус: offline
ICQ статус 494430057
Опубликовано 20 Января 2009, 14:58:37
Да парсер работает. Пасиб. Ограничить новости до 5и хорошо бы.


--------------------
Сео консультация, раскрутка сайтов, увеличение продаж
аська 494430057
^ наверх ^ 494430057 http://www.j-vs-v.ru/
# 18  
evroplex
Пользователь

Avatar пользователя




новичек

Сообщений: 9
Зарегистрирован: 15 Августа 2008, 00:26:33
Сказали спасибо 4 раз
Статус: offline
Опубликовано 21 Января 2009, 19:16:32
Обновил предыдущий свой пост, теперь всё круче smiley
 
^ наверх ^
# 19  
GETJOB
Пользователь

Avatar пользователя



Любитель Fusion

Сообщений: 281
Откуда: Украина
Зарегистрирован: 21 Января 2008, 15:01:01
Сказали спасибо 3 раз
Статус: offline
Опубликовано 05 Марта 2009, 00:34:34
Что-то у меня с кодом evroplex не получается smiley
Панель надо создавать в админке или в виде php файла?


--------------------
To be the first
^ наверх ^ http://aquaportal.net
# 20  
GETJOB
Пользователь

Avatar пользователя



Любитель Fusion

Сообщений: 281
Откуда: Украина
Зарегистрирован: 21 Января 2008, 15:01:01
Сказали спасибо 3 раз
Статус: offline
Опубликовано 05 Марта 2009, 18:23:46
Уже работает. Наверое все из-за нетерпения: подождал и новости пошли. Вот только выводит 4 новости, хотя в настройках указал 7.
Сейчас обратил внимание, что выдается каша: заголовки и содержание разных тем перемешаны. Думаю, что смахивать на карявость новостной ленты сайта ВВС никто не будет)


[Изменил(а) GETJOB, 05 Марта 2009, 22:30:02]

--------------------
To be the first
^ наверх ^ http://aquaportal.net
Перейти на форум:


95,061,369 уникальных посетителей
сейчас: 23 Апреля 2024, 22:52:32
Генерация страницы: 0.54 сек.