wget:有时候下载,只是前1分钟有数据传输,之后便是无响应。为了利用这个突发传输,增加请求的频率,可以编写脚本,也可以使用wget -T 20 -c url,20秒等待,缺省是900秒。
脚本如下,虽然可以用wget的T参数替代,但方法可以借鉴。
for i in {1..4};do
echo $i
wget -c url &
sleep 60
j=$(ps -a | grep -ir wget ) #返回wget的PID
if [ "$j" != "" ] ;then
set $j #提取PID
kill $1 #定时关闭wget
else
echo "No wget running"
fi
done
下载某个网页中300多链接文件
IFS="
"
for i in $(grep -ir "/.asc" htmlsourcefile ) ; do #以换行符断句,获得包含下载文件的语句,
echo $i
j=${i##*href=/"} #获得路径
n=http://www.url.com${j%%/"*} #加前缀
o=${n##*/} #获得链接文件名,该名与实际文件名可能不同
echo n $n
echo o $o
k=${i##*/"/>} #提取实际文件名
l=${k%%/<*} #提取实际文件名
echo l $l
wget -T 20 $n
mv $o $l #将链接文件名改为实际文件名
done
这是htmlsourcefile片段