我正在使用WWW :: Mechanize解析一个网站以下载一些图像。我需要使用与给定图像的可用分辨率相关的所有链接填充数组。但我只需要填充等于或小于'1440x900'的链接,但我不知道在哪里进行验证。我正在尝试这个:
my @resolutions = map {$_->url} grep {$_->url =~ /$_[0]-\d{4,4}x\d{3,4}/} $mech->find_all_links();
如何才能使验证只能获得等于或小于'1440x900'的图像?
提前tnx!编辑:
我不能使用Mech的find_all_images方法,因为它们以.html结尾。例如,链接就像:
http://www.wallpaper.com/view/some_image-2560x1600.html
在关注此链接后,您显示了.jpg图像。
答案 0 :(得分:2)
use 5.014;
for my $link ($mech->find_all_links(url_abs_regex => qr/\d+x\d+\.html$/a)) {
my ($w, $h) = $link->url =~ /(\d+)x(\d+)/a;
if ($w <= 1440 && $h <= 900) {
# do something
}
}