博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写脚本将CPAN网站上的模块全部下载
阅读量:7142 次
发布时间:2019-06-29

本文共 875 字,大约阅读时间需要 2 分钟。

流程:

1、选择镜像网站

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,如需转载请自行联系原作者
你可能感兴趣的文章
51信用卡Android 架构演进实践
查看>>
.NET Core如何为项目提供高性能解决方案?
查看>>
逃离方法牢笼
查看>>
Stack Overflow技术报告给开发者哪些启示
查看>>
如何做自动化测试?
查看>>
Java EE 8停步不前:Java社区能否扭转乾坤?
查看>>
Facebook Litho:高性能安卓UI的构建框架
查看>>
InfoQ在ETE大会上对Android工程师Jake Wharton的采访
查看>>
Spring Boot 2.0将会增强Actuator端点的特性
查看>>
移动互联网下半场,iOS开发者如何“高薪”成长?
查看>>
访谈:Kotlin在Pinterest的逆势生长
查看>>
Oracle开源Fn,加入Serverless之争
查看>>
阿里百川技术分享:OneSDK与手机淘宝技术能力开放
查看>>
GCM 3.0采用类似方式向Android、iOS和Chrome发送消息
查看>>
Scala的设计目标——Martin Odersky访谈(二)
查看>>
上学还是坐牢?百年老校“监控”学生惹争议
查看>>
埃隆·马斯克:比特币拥有着“极为出色”的结构,而纸质货币终将消失
查看>>
Graphql 初尝试2 --第一个例子
查看>>
Vue学习笔记之一 - 入门
查看>>
新JEP将简化Java类型变异
查看>>