CURL版递归爬虫下载软件脚本

10 篇文章 0 订阅
#!/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
clear
Url="http://mirrors.cnnic.cn/apache/"
DownListFile="/tmp/downlist.txt"
DownListTmpFile="/tmp/tmplist.txt"
DownFileType="zip$|gz$"
DownList=""
UrlBack="$Url"
[ ! -f $DownListFile ] && touch $DownListFile || echo > $DownListFile
[ ! -f $DownListTmpFile ] && touch $DownListTmpFile || echo > $DownListTmpFile
CURL_URLS(){
	Urls=`curl $UrlBack |awk -F "a href="" '{printf "%sn",$2}'|awk -F """ '{printf "%sn",$1}'|grep -vE "^$|^?|^http://"|^#`
}
URL_LIST(){
	CURL_URLS
	for i in $Urls ;do
		echo "$UrlBack$i" >> $DownListTmpFile
	done
}
RECURSIVE_SEARCH_URL(){
	UrlBackTmps=`cat $DownListTmpFile`
	[[ "$UrlBackTmps" == "" ]] && echo "no more page for search" && exit 1
	for j in $UrlBackTmps ;do
		if [[ "${j##*/}" != "" ]] ;then
			echo "$j" >> $DownListFile
		else
			UrlBack="$j"
			URL_LIST
		fi
		UrlTmps=`grep -vE "$j$" $DownListTmpFile`
		echo "$UrlTmps" > $DownListTmpFile
		RECURSIVE_SEARCH_URL
	done
}
DOWNLOAD_FILE(){
	DownList=`grep -E "$DownFileType" $DownListFile`
	for k in $DownList ;do
		FilePath=/tmp/${k#*//}
		[ ! -d `dirname $FilePath` ] && mkdir -p `dirname $FilePath`
		[ ! -f $FilePath ] && cd `dirname $FilePath` && curl -O $k
	done
}
URL_LIST $Urls
RECURSIVE_SEARCH_URL
本文章来至源码世界  http://www.ymsky.net/views/1343.shtml
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值