最近,在学习Linux Shell方面的东西,早在大学时期就接触个这方面的东西,只是工作的时候很少涉及到shell方面的,于是就荒废了,最近在服务器方面遇到了一些问题,当时写测试程序时,需要使用shell,于是重新拾取这部分内容,好了,说了这么多,参照《攻略》里的案例,自己调试了下这个图片抓取器,代码如下:
#!/bin/bash
if [ $# -ne 3 ];
then
echo "Usage:$0 URL -d DIRC"
exit -1
fi
for i in {1..4}
do
case $i in
-d) shift;directory = $1;shift;;
*) url=${url:-$1};shift;
esac
done
mkdir -p $directory;
baseurl= $(echo $url | egrep -o "http?://[a-zA-Z.]+")
echo Downloading $url
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
echo Downloading $filename
curl -s "$filename"
done < /tmp/$$.list
总结
这篇博文主要是实现了一个简单的图片爬取器,所涉及到的思想很简单,就是首先通过curl来抓取html网页,然后再通过提取图片的url的方式来获得图片,用这种方式并不适用于较复杂的环境,充其量说这个只是一个初级版的图片爬取器了,有时间自己再写一个实用性更好地图片爬取器吧,好了,本篇博文到此结束。
如果需要,请注明转载,多谢