写脚本将CPAN网站上的模块全部下载

流程:

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++;
       }
}

好吧,接下来就是等待两万多个模块下载到自己计算机上吧。




本文转自 tiger506 51CTO博客,原文链接:http://blog.51cto.com/tiger506/1351369,如需转载请自行联系原作者

上一篇:基于HTML5快速搭建TP-LINK电信拓扑设备面板


下一篇:蓝点数据携手北京大数据产业人才实训基地培养大数据人才