0

WWW::Mechanize を使用して Web サイトを解析し、画像をダウンロードしています。指定された画像で利用可能な解像度に関連するすべてのリンクを配列に入力する必要があります。しかし、「1440x900」以下のリンクのみを入力する必要がありますが、その検証をどこで行うべきかわかりません。私はこれを試していました:

my @resolutions = map {$_->url} grep {$_->url =~ /$_[0]-\d{4,4}x\d{3,4}/} $mech->find_all_links();

「1440x900」以下の画像のみを取得するように検証するにはどうすればよいですか?

事前にt​​nx!

編集:

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 に答える