编程需求:
网络爬虫技术被称为网络蜘蛛或者网络机器人,指的是按照某种规则自动的将网络上抓取到的数据进行程序化或脚本化。比如说我们在网络上发现了大量的图片或者大量的视频资料。当然了你可以使用鼠标一个一个去进行下载,但是无可厚非的是会消耗大量的时间和精力。此时我们就需要一个可以自动抓取网络内容的脚本,自动抓取网络上的图片或连接,自动批量下载。当然根据网络数据抓取深度的不同,数据的复杂程度不同,设计网络爬虫的难度也有所不同。
脚本源代码:
#!/bin/bash
#功能描述:编写脚本抓取单个网页中的所有图片
#需要抓取数据的网页链接种子与种子URL文件名
page="网页地址"
URL="/tmp/spider_$$.txt" #要抓到哪里
#将网页源代码保存到文件中
curl -s 网页地址 > $URL
#对文件进行过滤和清洗,获取需要的种子URL链接
echo -e "\033[32m正在获取种子URL,请稍后...、033【0m"
sed -i '/<img/!d' $URL #删除不包含<img的行
sed -i 's/.*src=''//' $URL #删除src=''及前面的内容
sed -i 's/''.*//' $URL #删除双引号及其后面的所有内容
echo
#检测系统如果没有wget下载工具则安装该软件
if ! rpm -q wget &>/dev/null;
then
yum -y install wget
fi
#利用循环批量下载所有图片数据
#wget为下载工具,其参数选项如下所示:
# -P指定文件的下载目录
# -c支持断点续传
# -q不显示下载过程
echo -e "\033[32m正在批量下载种子,请稍后哦,嘿嘿嘿嘿嘿!\033[0m"
for i in $(cat $URL)
do
wget -P /tmp/ -c -q $i
done
#删除临时种子列表文件
rm -rf $URL