Perl Нужна помощь!

lucia

Постоялец
Регистрация
13 Окт 2009
Сообщения
132
Реакции
19
Скрипт парсит RSS по заданному урл,подскажите как можно сделать так чтоб скрипт выбирал ссылки из файла .txt по списку,и ещё если возможно как-то игнарировал ошибки ......типа нет доступа к сайту.

Вот сам скрипт,в скрипте только исправил кодировку с utf8 на windows1251

#!/usr/bin/perl

use LWP::Simple;
use XML::RSS;
use HTML::Strip;

binmode(STDOUT, ":windows1251");

#my $url = "Для просмотра ссылки Войди или Зарегистрируйся";
my $url = "Для просмотра ссылки Войди или Зарегистрируйся";

$hs = HTML::Strip->new();

my $rss = XML::RSS->new();
my $data = get( $url );
$rss->parse( $data );

my $channel = $rss->{channel};
#my $title = $channel->{title};
#my $link = $channel->{link};
#my $desc = $channel->{description};

foreach my $item ( @{ $rss->{items} } )
{
my $link = $item->{link};
my $title = $item->{title};
my $desc = $item->{description};

print $title, "\n", $hs->parse($desc), "\n\n\n";
}

$hs->eof;
 
подскажите как можно сделать так чтоб

Если действительно подразумевалось просто подсказать, а не написать скрипт, то вот как на перле делается циклическое считывание из файла:
Для просмотра ссылки Войди или Зарегистрируйся

А вышеуказанный код переделывается в функцию, которую из цикла чтения надо вызывать - Для просмотра ссылки Войди или Зарегистрируйся (с параметром url)
 
В перле не кумекаю,постараюсь понять потестировать...может что получится.

Не получается,может кто помочь......на изучение нет времени.
 
Код:
#!/usr/bin/perl
 
use LWP::Simple;
use XML::RSS;
use HTML::Strip;
 
binmode(STDOUT, ":windows1251");
 
my $file_urls = "links.txt";
 
open myfile, '<'.$file_urls or die("$file_urls not found\n");
while(<myfile>)
{
s/[\r\n]+//g;
 
    my $hs = HTML::Strip->new();
 
    my $rss = XML::RSS->new();
    my $data = get( $_ );
    $rss->parse( $data );
 
    my $channel = $rss->{channel};
    #my $title = $channel->{title};
    #my $link = $channel->{link};
    #my $desc = $channel->{description};
 
    foreach my $item ( @{ $rss->{items} } )
    {
    my $link = $item->{link};
    my $title = $item->{title};
    my $desc = $item->{description};
 
    print $title, "\n", $hs->parse($desc), "\n\n\n";
    }
 
    $hs->eof;
 
}
close myfile;

файл links.txt
 
Назад
Сверху