1
use WWW::Mechanize;
use strict;
use warnings;
use LWP::Simple;
my $ctime       = time();
my $Home_page   = 'www.condortk.com/';
my $output_file = "www.condortk.com-$ctime";
my $url         = 'http://www.condortk.com/results.php?keyword=&Buscar.x=4&Buscar.y=7';
my $m           = WWW::Mechanize->new();
$m->get( $url ) or die "unable to get $url";
my $Home_Con = $m->content;
system( 'mkdir Images' ) if ( !-d "Images" );
my $next = '';
my $page = '';

while ( $Home_Con =~ m/<div class="producto"><a href="([^>]*?)"/igs ) {

#print "Loop 1\n";
  $m->get( $1 );

  my $list_content = $m->content;
  my $img_name     = '';
  my $img_folder   = '';
  my $image        = '';
  my $big_image    = '';

  while ( $list_content =~ m/<div\s*class="nombre2"><a\s*href="([^>]*?)"/igs ) {

#print"Loop2\n";
    my $desc  = '';
    my $desc1 = '';
    my $block = $Home_page . $1;
    $m->get( $1 );
    my $content1 = $m->content;
    if ( $content1 =~ m/id="imgproducto"><img src="([^<]*?)"/is ) {
      $img_name = $1;

#   print "$img_name\n";

      if ( $img_name =~ m/\/\w+\/\w+\/([^>]*?)$/is ) {
        $img_folder = $1;

#print "$img_folder\n";
#print "$Home_page.$img_name\n";
        getstore( $Home_page . $img_name, $img_folder );

      }
    }
  }
}

サイトから特定の画像をダウンロードして保存しようとしています。しかし、なぜそれらの画像を取得できないのかわかりません。私は画像の正しい正規表現を使用しました.私が疑っている部分はgetstoreメソッドです.いくつかのガイダンスが必要です.よろしくお願いします.

4

2 に答える 2

2

画像を検索する場合は、WWW::Mechanize で特定の画像メソッドを使用すると、探しているものに到達するのに役立つ場合があります。例:

my @images = $mech->find_all_images( url_regex => qr/productos-detalle\.php/ );
于 2013-07-29T07:35:57.497 に答える