Я хочу получить все изображения на веб-странице с помощью этой программы. Но когда я запускал эту программу, я получал одно и то же изображение 10 раз вместо разных. Я думаю, что проблема была в режиме bin или операторе печати "$ pic-> image", который не смог очистить старое содержимое обработчика файла.
#!/usr/bin/Perl
# pics.pl
# Grabs multiple images from a webpage
use Image::Grab;
$pic = new Image::Grab;
# Specify the total no of pages
$totalpages = 1;
$idx2 = 1;
$idx3 = 10;
for($idx = 1; $idx <= $totalpages; $idx++)
{
$idx4 = 1;
$pic->regexp(".*\.jpg");
$pic->search_url("http://www.freedigitalphotos.net/images/Recycling_g385.html");
for ($idx2 = $idx2; $idx2 <= $idx3; $idx2++)
{
$pic->index('$idx4');
$pic->grab;
$name = 'image'.$idx2.'.jpg';
open(IMAGE, ">$name") || die "$name: $!";
binmode (IMAGE);
print IMAGE $pic->image;
close (IMAGE);
$idx4++;
}
$idx3 = $idx2+10;
}
Спасибо.