#!/bin/bash
#
#批量下载页面以及页面引用图片的脚本
#
#write by since1986 at 2014-05-12

#页面引用图片的目标下载目录
img_download_destination_folder="/opt/gbk/inc/wbts"

#页面引用图片的下载列表文件
img_download_list_file_path="/tmp/page_and_img_download.list"

#页面引用图片的引用方式的正则
img_regex="http://\S*(\.jpg|\.gif)"

#读取下载任务定义文件 下载任务定义文件使用 每行一段 “要下载的页面链接=下载目标路径” 的形式定义多个下载任务
page_src_url_map=`cat page_urls.map`


#循环下载任务定义中的每一项下载任务
for line in $page_src_url_map
    do
        page_src_url=`echo $line | cut -d= -f1` #从下载定义中获得要下载页面的源地址
        page_desc_path=`echo $line | cut -d= -f2` #从下载定义中获得要下载页面的目标路径
        wget $page_src_url -c -O $page_desc_path #使用断点续传的方式下载页面
        cat $page_desc_path | egrep -o $img_regex > $img_download_list_file_path #提取下载好的页面中包含的引用图片的链接并保存为下载列表文件
        wget -c -P ${img_download_destination_folder}/img/ -i $img_download_list_file_path #依据引用图片下载列表文件下载引用图片
        rm -rf $img_download_list_file_path #删除引用图片下载列表文件
    done

since1986
104 声望1 粉丝

爱编程、爱旅行、爱家人~