0

我正在使用 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 图像。

4

1 回答 1

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
    }
}
于 2013-07-14T16:25:04.057 回答