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片段
<tr> <td><a href="/product/LTC3411A" mce_href="product/LTC3411A">LTC3411A - 1.25A, 4MHz, Synchronous Step-Down DC/DC Converter</a></td> <td sorttable_customkey="1298397337">Feb 22nd, 2011</td> <td><a οnclick="javascript:urchinTracker('/docs/Software and Simulation/LTC3411A.asc')" href="/docs/29119" mce_href="docs/29119">LTC3411A.asc</a></td> </tr>