分页: 2 / 2
Re: 一个从指定网页地址批量下载相关类型文件的脚本
发表于 : 2009-08-28 0:05
由 eexpress
修饰词 含义
/i 或略字母大小写
令 ^ 和 $ 匹配随后嵌入的 \n。
/m
令 . 匹配换行符并且忽略废弃了的 $*。
/s
/x 或略(大多数)空白并且允许在模式里的注释
/o 只编译模式一次
/g 全局地查找所有匹配
在 /g 匹配失败后允许继续查找
/cg
自己下载一个perl书看吧。
Re: 一个从指定网页地址批量下载相关类型文件的脚本
发表于 : 2009-08-28 0:29
由 formylove2
http://www.ouravr.com/bbs/bbs_content.j ... bs_id=1000
就下这上面的
(bash的脚本那个)
怎么匹配
downlist 上的 最后都只下载
http://www.ouravr.com/bbs
而且还有局限性
比如现在这个页面的 下ee的那个tar.gz 文件 看看源码就没法搞
Re: 一个从指定网页地址批量下载相关类型文件的脚本
发表于 : 2009-08-28 0:32
由 formylove2
我都是看那个网上啥30分钟正则 那啥啥的 用到了 就查 有些东西查不到 goolge 上有 不过思路一变一个样
Re: 一个从指定网页地址批量下载相关类型文件的脚本
发表于 : 2009-08-28 19:13
由 xzap
如果像
这样子的链接可以这样
代码: 全选
#!/bin/bash
wget $1 -q -T 10 -O- 2>/dev/null |grep -o http://download.ourdev.cn/[a-z0-9_]*/[a-z0-9_]*/[a-z0-9_]*.[a-z]* >/tmp/tmp$$
for i in `cat /tmp/tmp$$`
do
wget "$i"
done
#rm /tmp/tmp$$
要使用的时候,比如上面的名字是xxx
那就 xxx url
编辑一下,测试可用,如果就是那个网页的话,我这个更简单点。通用型差点
Re: 一个从指定网页地址批量下载相关类型文件的脚本
发表于 : 2009-08-28 20:54
由 formylove2
代码: 全选
#!/usr/bin/perl
use LWP::UserAgent;
my $url=shift;
my $url='http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3402316&bbs_page_no=1&search_mode=1&search_text=pdf&bbs_id=1000';
my $ua=new LWP::UserAgent();
my $re= $ua->get($url);
die "Couldn't get $url" unless defined $re;
my $html= $re->content;
#最后提取出出指定页面内容
#为wget创建批量下载文件
open (templist,">temp.txt");
close(templist);
my $type=rar;
my $type1=pdf;
# my $downpath = ;
while($html=~ /\<a href=(.*?)\>/gsi){
open (templist,'>>temp.txt');
print templist "$1\n";
close(templist);
}
system("rm -r downlist.txt");
system("sed -n -e '/\.$type/p' temp.txt > downlist.txt");
system("sed -n -e '/\.$type1/p' temp.txt >> downlist.txt");
#根据情况删除 有些 <a href= > 中不光是路径 还有其他标签 看网页源码情况
system("sed -i 's/target=.*/ /g' downlist.txt >> downlist.txt");
unlink("temp.txt");
#路径
system("wget -i downlist.txt -P ~/download/");
花了 两天时间 绝对可行 简单易懂 不过可能写得像陀shit 比你们贴的那些天书简单多了 完成任务才是第一
前半部分根据ee的提示
等有时间了再完善下 像 O_O_BOT的那个脚本 把 下载类型文件给改成 提示 把URL的输入也改成弹出窗口样的提示
反正一切都要顺手和顺眼为前提
(我可是从来没写过脚本 这是第一次写这玩意 )