当前位置:首页 >> 脚本专栏

一个下载网页图片的shell脚本

记得去年找工作面试时,听到一位同学说自己非常喜欢linux,我相信他说的是真的,我觉得喜欢linux的人很大的快乐来自shell脚本,因为它能够整合linux上的各种资源干大事。下面和大家分享下一个shell脚本写的图片抓取器。
使用方法:
复制以下代码,命名为img_downloader.sh。使用时在shell下输入 ./img_downloader.sh www.baidu.com -d images,该shell脚本就会把百度首页上的图片下下来了。
复制代码 代码如下:#!/bin/bash
if [ $# -ne 3 ];
then
 echo "Usage: $0 URL -d DIRECTORY"
 exit -1
fi

for i in {1..4}
do
 case $1 in
 -d) shift; directory=$1; shift;;
    *) url=${url:-$1};shift;
esac
done

mkdir -p $directory
baseurl=$(echo $url | egrep -o "https?://[a-z.]+")

echo "$baseurl"

curl -s $url | egrep -o "<img src=[^>]*>" |
sed 's/<img src=\"\([^"]*\).*/\1/g' > /tmp/$$.list

sed -i "s|^/|$baseurl/|" /tmp/$$.list
cd $directory;

while read filename
do
 curl -s -O "$filename" --silent
done < /tmp/$$.list