- 论坛徽章:
- 0
|
本帖最后由 paktc 于 2010-08-10 13:32 编辑
批量下载ubuntu官方壁纸-自然系列
我是在windows下写的,需要借助wget命令。 不过我想移到linux改一下应该也OK。
分析地址的时候设置了一个递增数 % 3 ,如果=0就当前下载 ,其余的另开进程下载,
当前下载可以达到缓冲不炸窗口的作用。 3也就是个关键数字了。
- foreach $number (51..63) {
- system("wget --output-document link.html http://art.gnome.org/backgrounds/nature?page=$number");
- open READ,"link.html";
- @lines=<READ>;
- close READ;
- $rcd="#";
- $http="http://ftp.gnome.org/pub/GNOME/teams/art.gnome.org/backgrounds/";
- $i=0;
- foreach (@lines) {
- if (s#.*<option value="/backgrounds/nature/\d*/##i) {
- s#">##;
- @tmp=split("_",$_);
- next if ($rcd eq $tmp[0]);
- $rcd=$tmp[0];
- $i+=1; $pan=$i % 3;
- if ($pan == 0) {
- system("wget -nc $http$_ ");
- } else {
- system("start /min wget -nc $http$_");
- }
- }
- }
- }
- print "OVER";
- <STDIN>;
复制代码 还有个细节是我记录了名字的某个部分
因为一个页面中有同张图片的不同分辨率的链接,比如
“NATURE-BalconVert_1024x768.jpg"
“NATURE-BalconVert_1900x1250.jpg"
避免同一张图,做了遇到同样标题调过的处理 |
|