Forum Webscript.Ru
Программирование => Perl => Тема начата: Godo2004 от 21 Февраля 2004, 20:57:49
-
1. Для сохранения использую функцию getstore
( LWP::), но просмотреть файл можно только при подключенном Интернете, а так все картинки пропадают...
2. Не получается достать ссылки из файла модулем
HTML::LinkExtor если файл расположен а жестком диске...
-
Godo2004
файл расположен а жестком диске
А где он ещё может быть расположен?! В воздухе?
Или ты с дискеты обычно файл читаешь?
-
я использую программу,качает линки из Web страницы в интернете. Работает нормально. Не могу понять, что в ней изменить
чтобы использовать ее для сохраненной страницы..
use LWP::UserAgent;
use HTML::LinkExtor;
use URI::URL;
$url = "http://images.search.yahoo.com/search/images?p=redirection&ei=UTF-8&fr=fp-tab-img-t&cop=mss&tab=3"; # for instance
$ua = LWP::UserAgent->new;
# Set up a callback that collect image links
my @imgs = ();
sub callback {
my($tag, %attr) = @_;
return if $tag ne \'img\'; # we only look closer at
push(@imgs, values %attr);
}
# Make the parser. Unfortunately, we don\'t know the base yet
# (it might be diffent from $url)
$p = HTML::LinkExtor->new(\\&callback);
# Request document and parse it as it arrives
$res = $ua->request(HTTP::Request->new(GET => $url),
sub {$p->parse($_[0])});
# Expand all image URLs to absolute ones
my $base = $res->base;
@imgs = map { $_ = url($_, $base)->abs; } @imgs;
# Print them out
print join("\\n", @imgs), "\\n";
Да еще когда я зациклировал эту программу (для поиска в соответствии со списком слов полученных из файла) линки вытаскиваются только из первой web страницы.
Вообще то я делаю иллюстрированный словарь для изучения языка (программа должна искать картинки в соотвествии со списком слов).
Соображаю неважно , немного запутался
-
1 Относительно первого вопроса: почему getstore
LWP не сохраняет страницу как делает это IE ("сохранить как"то есть все иконки в отдельной папке) . Неужели для этого нужно писать специальную программу (ну там User Agent и все такое). Попробывал mirror ( ), то же не помогает..