Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PERL: поисковичок

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

VasyOK



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Есть некоторая страничка в интернет. Необходимо на ней собрать все ссылки, пройти по этим ссылкам и посмотреть, есть ли там тексты с некоторыми ключевыми словами. Если есть ссылку выводим на экран.
 
Вопрос, как собрать массив ссылок с удаленной страницы?

Всего записей: 403 | Зарегистр. 13-12-2003 | Отправлено: 12:40 18-07-2013
Oleg_de



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с библиотекой LWP

----------
Германия глазами переселенцев и мигрантов ...

Всего записей: 336 | Зарегистр. 03-09-2001 | Отправлено: 23:46 30-07-2013
CheRt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
VasyOK,

Цитата:
Вопрос, как собрать массив ссылок с удаленной страницы?

 

Код:
 
#!/usr/bin/perl
use strict;
use Data::Dumper;
use LWP::UserAgent;
use HTML::TokeParser;
 
my $url = 'http://example.com';
my @links;
 
my $agent = LWP::UserAgent->new();
$agent->agent('Get-links script');
 
my $request = HTTP::Request->new( GET => $url );
my $result = $agent->request( $request );
 
if ( $result->is_success )
{
    my $source = $result->content();
 
    my $parser = HTML::TokeParser->new(\$source);
    while (my $token = $parser->get_tag('a'))
    {
        my $url = $token->[1]{href};
        my $text = $parser->get_trimmed_text('/a');
        push(@links, $url) if $url;
    }
    print Dumper(\@links), "\n";
} else
{
    print 'Error: ', $result->status_line, "\n";
}
 
 


----------
В огне бода нет и не будет!
До встречи в СССР 2.0!

Всего записей: 1118 | Зарегистр. 14-12-2001 | Отправлено: 16:34 31-07-2013
VasyOK



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо
 
Добавлено:
CheRt
Может подскажешь еще вот такой вопросик.
 

Код:
my $source = $result->content();

 
А как мне теперь в source для поиска оставить только содержимое div или table с определенным id или class?

Всего записей: 403 | Зарегистр. 13-12-2003 | Отправлено: 15:52 01-08-2013
Oleg_de



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добавить после while (my $token = $parser->get_tag('div'))  
 
next if ($token->[1]{id} != "meinID" && $token->[1]{class} != "meinClass") ;


----------
Германия глазами переселенцев и мигрантов ...

Всего записей: 336 | Зарегистр. 03-09-2001 | Отправлено: 12:25 06-08-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PERL: поисковичок


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru