Forum Webscript.Ru

Программирование => Perl => Тема начата: Timofey от 19 Ноября 2004, 16:35:26

Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: Timofey от 19 Ноября 2004, 16:35:26
кто-нибудь парсит RSS с помощью perl?
пробывал XML::RSSLite и XML::RSS::Parser
что-то не сростается, может у кого есть нормальный пример
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: commander от 19 Ноября 2004, 16:54:33
этого примера не достаточно? :
http://search.cpan.org/~tima/XML-RSS-Parser-2.15/lib/XML/RSS/Parser.pm
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: Timofey от 22 Ноября 2004, 10:13:59
Цитировать
commander:
этого примера не достаточно? :
http://search.cpan.org/~tima/XML-RS...L/RSS/Parser.pm

с него как раз и начал, в результате

Couldn\'t open encmap windows-1251.enc:
No such file or directory
 at C:/usr/site/lib/XML/Parser.pm line 187
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: NeoNox от 22 Ноября 2004, 10:26:03
http://uucode.com/xml/perl/#enc
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: Timofey от 22 Ноября 2004, 12:54:52
с кодировкой разобрался, теперь следующий вопрос

#!/usr/bin/perl -w

#use strict;
use XML::RSS::Parser;

print "Content-Type: text/html\\n\\n";

#print "Test RSS";

 my $p = new XML::RSS::Parser;
# my $feed = $p->parsefile(\'C:\\usr\\Apache2\\htdocs\\rss\\Business.rss\');
 my $feed = $p->parse(\'http://partners.userland.com/nytRss/business.xml\');

 # output some values
 my $title = XML::RSS::Parser->ns_qualify(\'title\',$feed->rss_namespace_uri);
 print $feed->channel->children($title)->value."\\n";
 print "item count: ".$feed->item_count()."\\n\\n";
 foreach my $i ( $feed->items ) {
        map { print $_->name.": ".$_->value."\\n" } $i->children;
        print "\\n";
 }

в результате
not well-formed (invalid token) at line 1, column 5, byte 5 at C:/usr/site/lib/X
ML/Parser.pm line 187
причем это для разных источников RSS
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: NeoNox от 22 Ноября 2004, 16:30:36
1. Какая версия модуля?
2.
Цитировать
Timofey:
my $feed = $p->parse(\'http://partners.userland.com/nytRss/business.xml\');

Читаем в доке что должно быть передано $p->parse
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: Timofey от 22 Ноября 2004, 16:56:58
Цитировать
NeoNox:
Читаем в доке что должно быть передано $p->parse

прочитать-то прочитал,а вот прикрутить не могу, потому и спрашиваю
Название: кто-нибудь парсит RSS с помощью perl?
Отправлено: NeoNox от 22 Ноября 2004, 17:02:51
Если прочитал, то непонятно почему ты неверно используешь эту функцию.