使用perl脚本下载图像 使用WWW::Mechanize; 严格使用; 使用警告; 使用LWP::Simple; 我的$ctime=时间(); 我的$Home_页面='www.condortk.com/'; my$output\u file=“www.condortk.com-$ctime”; 我的$url=http://www.condortk.com/results.php?keyword=&Buscar.x=4&Buscar.y=7'; my$m=WWW::Mechanize->new(); $m->get($url)或死“无法获取$url”; 我的$Home\u Con=$m->content; 系统('mkdir图像')如果(!-d“图像”); 我的$next=''; 我的$page=''; 而($Home\u Con=~m/get($1); 我的$list\u content=$m->content; 我的$img_name=''; 我的$img_文件夹=“”; 我的$image=''; 我的$big_图像=“”; 而($list\u content=~m/get($1); 我的$content1=$m->content; 如果($content1=~m/id=“imgproducto”>]*?)$/is){ $img_folder=$1; #打印“$img\u文件夹\n”; #打印“$Home\u page.$img\u name\n”; getstore($Home_page.$img_name,$img_folder); } } } }

使用perl脚本下载图像 使用WWW::Mechanize; 严格使用; 使用警告; 使用LWP::Simple; 我的$ctime=时间(); 我的$Home_页面='www.condortk.com/'; my$output\u file=“www.condortk.com-$ctime”; 我的$url=http://www.condortk.com/results.php?keyword=&Buscar.x=4&Buscar.y=7'; my$m=WWW::Mechanize->new(); $m->get($url)或死“无法获取$url”; 我的$Home\u Con=$m->content; 系统('mkdir图像')如果(!-d“图像”); 我的$next=''; 我的$page=''; 而($Home\u Con=~m/get($1); 我的$list\u content=$m->content; 我的$img_name=''; 我的$img_文件夹=“”; 我的$image=''; 我的$big_图像=“”; 而($list\u content=~m/get($1); 我的$content1=$m->content; 如果($content1=~m/id=“imgproducto”>]*?)$/is){ $img_folder=$1; #打印“$img\u文件夹\n”; #打印“$Home\u page.$img\u name\n”; getstore($Home_page.$img_name,$img_folder); } } } },image,perl,download,Image,Perl,Download,我正试图从该网站下载并保存特定的图像。但我不确定为什么我无法获得这些图像。我使用了正确的图像正则表达式。我怀疑的部分是getstore方法。需要一些指导。提前感谢。如果您正在搜索图像,请使用可能有助于您达到目标的特定正则表达式你在找我。 例如: 正则表达式之所以能工作是因为运气好,它们不是实心的。请参阅“错误的正则表达式”注释。此外,getstore(url,file)方法需要作为参数1,path/to/file.jpg需要作为参数2 以下是一个工作版本: my @images = $mech-

我正试图从该网站下载并保存特定的图像。但我不确定为什么我无法获得这些图像。我使用了正确的图像正则表达式。我怀疑的部分是getstore方法。需要一些指导。提前感谢。

如果您正在搜索图像,请使用可能有助于您达到目标的特定正则表达式你在找我。 例如:


正则表达式之所以能工作是因为运气好,它们不是实心的。请参阅“错误的正则表达式”注释。此外,getstore(url,file)方法需要作为参数1,path/to/file.jpg需要作为参数2

以下是一个工作版本:

my @images = $mech->find_all_images( url_regex => qr/productos-detalle\.php/ );

非常感谢。但是您能告诉我代码的用法吗。
#如果($code!=200){print“$get-->Images/$save:$code\n”
以前,当脚本试图获取www.moo.com/dir/img.jpg时,服务器返回400(错误请求)因为地址的前缀不是http://。您可以使用返回代码来找出哪里出了问题,或者断言服务器理解了请求。
my @images = $mech->find_all_images( url_regex => qr/productos-detalle\.php/ );
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 ) { # <-- wrong regex

  #print "Loop 1 $1 \n";
  $m->get( "http://www.condortk.com/$1" ); # <-- wrong url

  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 "Loop 2 $1 \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;


    # wrong url and 'save as' parameters
    if ( $img_name =~ m/\/\w+\/\w+\/(.*)$/is ) {
        my $basename = $1;
        my $get = "http://${Home_page}${img_name}";
        my $save = "Images/$basename";
        my $code = -1;
        if ( ! -f $save ) { 
            $code = getstore($get, $save ); 
            print "$get --> $save : $code\n";
        } else {
            print "Skipping $save\n";
        }
        #if ($code != 200) { print "$get --> Images/$save : $code\n"; }
    }

    }
  }
}
$ perl dl.img.pl
http://www.condortk.com/.../60504s_725x0.jpg --> Images/Images/60504s_725x0.jpg : 200
http://www.condortk.com/.../60508s_725x0.jpg --> Images/Images/60508s_725x0.jpg : 200
http://www.condortk.com/.../60501s_725x0.jpg --> Images/Images/60501s_725x0.jpg : 200
http://www.condortk.com/.../60020s_725x0.jpg --> Images/Images/60020s_725x0.jpg : 200