imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 07.09.2005, 12:39     # 21
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Deeger:
А формат .php который выглядит как rss....
Формат скрипта PHP не может выглядеть как rss, ведь rss - это XML, а ПХП - скриптовой язык программирования, синтаксис у них даже рядом не стоял!

А если вы выводите на PHP свои новости в формате RSS, то никаких проблем и нету - просто кто-то может себе экспортировать указанным выше способом вывод этих данных, главное чтобы отдаваемый Вами документ был валиден.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.07.2006, 09:50     # 22
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Решил я тут все-таки написать аналогичный скрипт на Perl.
Нам понадобятся два модуля:

LWP::Simple - взятие содержимого файла с другого сайта
XML::RSS - парсер для RSS. Если вы его ставите, то в подкаталог Perl, где лежат файлы .enc модуля необходимо скопировать соответсвующие файлы с тем же расширением из этого архива
cyrillic - модуль для работы и конвертирования кириллического текста.


Вот сам код:

Код:
 use LWP::Simple;
 use XML::RSS;
 use cyrillic;
 my $filr="имя_файла_для_хранения_RSS_на вашем_сайте";
 my $urls="URL_RSS-ленты";
 $ll=time();
 @fileatr=stat($filename);
 $modif=$ll-$fileatr[9]; 
 if ( !$fileatr[9] || ($modif > 3600) ) { 
  $rsscont = get($urls);
  open (RSF, ">$filename");
   print RSF $rsscont;
  close RSF;
 } 
 my $rss=XML::RSS -> new;
 $rss -> parsefile($filename);	
 $inews=0;
 my @items=@{$rss -> {items}};
 foreach my $item (@items) {
  $aa=$item -> {'title'}; # Заносим в переменную $aa очередной заголовок
  $aa=cyrillic::convert( utf, win, $aa ); # Переводим из юникода
  $bb=$item -> {'link'}; # Заносим в переменную $bb адрес этого поста
  print "<br>$aa --- $bb "; # Выводим в нужном нам виде
 }
Если кто может предложить более простое решение - буду рад.
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!

Последний раз редактировалось Goryn; 13.07.2006 в 11:08. Причина: Проблема с кодировкой решена и я убрал из поста все лишнее, изменив сам код.
Goryn вне форума  
Старый 13.07.2006, 11:05     # 23
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Методом неимоверных научных тыков нашел как решить проблему под Windows. Соответсвующие изменения внес в предыдущий пост. Потом попробую у хостера под Unix все опробовать - у него модули ставить надо.
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 13.07.2006, 12:24     # 24
Sych
Junior Member
 
Регистрация: 01.11.2002
Адрес: Kyiv, Ukraine
Сообщения: 95

Sych Мелкий засранец
search.cpan.org/dist/Text-Iconv/Iconv.pm
Sych вне форума  
Старый 14.07.2006, 13:15     # 25
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

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

LWP::Simple (как правило у хостеров стоит уже)
XML::RSS + Russian encodings pack
cyrillic
XML::Parser
Unicode::String

После того, как поставил все необходимое, приведенный скрипт заработал. Теперь у меня такая проблема: в RSS дата и время поста храниться в подобном виде:

Fri, 23 Jun 2006 14:18:08 +0300

Можно из этого как то просто сформировать дату и время в более удобоваримом виде? Особенно дату, чтобы месяц был по русски? Я пока просто убрал "лишнее":

Код:
   $cc=$item -> {'pubDate'};
   $cc=~ s/^\S{4}\s//igm;
   $cc=~ s/:\d{2}\s\+\d*$//igm;
Может кто что простое предложит?
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 16.07.2006, 00:08     # 26
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
если есть Date::Manip, можно просто им распарсивать исходную строку, после чего снова собирать ее в нужный стринг. К примеру:
Код:
use Date::Manip;

$string = 'Fri, 23 Jun 2006 14:18:08 +0300';
$date = ParseDate($string);

print &UnixDate($date, "%b %e, %Y, %T");
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 23.07.2006, 16:21     # 27
xmaker
Junior Member
 
Регистрация: 07.09.2005
Сообщения: 61

xmaker Нуль без палочки
Есть много скриптов которым только дай адрес они тебе сами все экспортируют и выдят как нужно... к примеру rssEcualizer, Auto Blog Builder и т.д... но их целесообразно ипользовать если нужно грабить много фидов если с одного то лучше скрипт пройтой взять.
xmaker вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:58.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.