解析与Perl正则表达式的链接

时间:2013-07-14 13:02:08

标签: regex perl www-mechanize

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

1 个答案:

答案 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
    }
}