1、技术思路
网页其实就是包含HTML标记和其他诸如Javascript、Css等元素的HTML页面。HTML标记是网页的基础。当我们下载网页的时候,其实接受的就是一个HTML文件。这种格式化的数据需要用浏览器查看。当然,我们也可以自己来处理HTML文件,抽离自己需要的数据,这个过程本质就是HTML字符串的处理。现在,我们就来展示如何使用shell脚本来下载一个网页内的所有相关图片。
2、脚本代码及其原理注释
#! /bin/sh
if [ $# != 3 ];then
echo "Usage:$0 URL -d DIRECTORY"
exit -1
fi
#循环4次,目的是需找脚本参数指定的url和-d后面指定的图片保存目录
for i in {1..4}
do
#shift会使脚本参数左移。例如,首次shift后,$2的值就被赋值给$1,$3赋值给$2...
case $1 in
-d) shift; directory=$1; shift;;
#若url不为空,则将url的值赋值给url,否则将$1的值赋值给url
*) url=${url:-$1}; shift;;
esac
done
mkdir -p $directory;
#抽取url的基址url,用于将相对图片路径转换为绝对路径
#url=http://www.hao123.com/?tn=92047105_hao_pg
#baseurl=http://www.hao123.com
baseurl=$(echo $url