1
我試圖搜索並下載特定圖像/封面/封面/如果發現網站,但無論我做什麼,我總是隻下載其中的一個。如果找到了,我應該在我的代碼中更改哪些內容以下載它們?下載特定圖片
use strict;
use warnings;
use LWP;
use LWP::UserAgent;
use URI::Escape;
use HTTP::Status;
getCover(...);
sub getCover {
......
while ($title_found =~ /'(http:\/\/images.blu-ray.com\/movies\/covers\/\d+_.*?)'/gis) {
$url = getSite($1);
if ($title_found =~ /front/) {
$filename = 'front.jpg';
}
elsif ($title_found =~ /back/) {
$filename = 'back.jpg';
}
}
my $dir = 'somepath'.$filename;
open F, ">", $dir;
binmode F;
print F $url;
close F;
return 0;
}
sub getSite {
$url = shift;
print "URL: $url\n";
my $r;
my $ua = new LWP::UserAgent();
$ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312");
my $req = new HTTP::Request GET => $url;
$req->push_header("Accept-Language", "en");
$req = $ua->prepare_request($req);
my $res = $ua->request($req);
my $rc = $res->code;
if(is_success($rc)){
$r = $res->as_string();
$r = $res->content();
}
else {
print "Failed\n";
}
return $r;
}
找出'while'循環的主體在內部執行print語句的次數。假設'getSite'確實會讓人期待這段代碼看起來正確。 – msw 2010-05-31 03:22:32
我已經添加了getSite正在做的事情。我有兩個子和打印語句在第二,我得到兩個$ url被發現 - 前面和後面,但只有一個被下載。 – thebourneid 2010-05-31 03:48:05