流程:
1、选择镜像网站http://mirrors.163.com/cpan/modules/01modules.index.html
2、使用PERL编写脚本存储网页内容
tiger506@darkstar:~/Download/CPAN$ cat ./p_get_cpanlist.pl
#!/usr/bin/perl
use HTTP::Tiny;
open OUT,">>./cpan_out";
my $browser=HTTP::Tiny->new();
my $url='http://mirrors.163.com/cpan/modules/01modules.index.html';
my $get_all=$browser->get($url);
my $get_content=$get_all->{content};
print OUT $get_content;
3、对cpan_out文件进行处理,通过正则表达式提取模块地址,通过wget进行下载:
tiger506@darkstar:~/Download/CPAN$ cat ./p_get_cpan_module.pl
#!/usr/bin/perl
open MDLST,"<./cpan_out";
my $i=0;
$url_head='http://mirrors.163.com/cpan';
while($line=<MDLST>){
if($line=~m/\.\.([a-zA-Z0-9\.\/_-]*\.tar\.gz)/){
$sub_url=$1;
$full_url=$url_head.$sub_url;
#print $i."------".$full_url."\n";
print "$i---DOWNLOADING $full_url NOW\n";
system("wget -c $full_url");
$i++;
}
}
好吧,接下来就是等待两万多个模块下载到自己计算机上吧。