Linux的shell脚本爬虫实战之图片爬取
一、爬虫原理
1、模拟计算机对服务器发起Request请求
2、接收服务器端的Response内容并解析、提取所需的信息
如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,
沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;
从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;
我们把网址看成是一个.html的网页文件,本身网址内容就是存在这份文件里面的,有点像砸门小时候做黑板报时候的这个板块,那个板块这里涂啥那里抹点啥,他们显示音乐图片,通过应用网址链接来加载出来,此时我们做的就是获取该链接,获取该文字,下载下来存放某个文件夹分类。
我们先建立一个txt文件,里面存些图片地址等标签信息,然后分析获取。
#!/bin/bash
echo "./pachong file1.txt>>>>爬取文件中的网址图片信息下载"
#循环获取参数名称
for i in $*
do
echo $i
#获取文件后缀
txtname=`echo $i|grep ".txt"|awk -F "." '{print $2}'`
echo $txtname
#判断参数是否存在
if [ $# -lt 1 ]
then
echo "lost canshu"
exit
#如果后缀是txt执行
elif [ $txtname = "txt" ]
then
#核心获取图片下载地址,具体网站具体分析
pic=`cat $1|grep "img class="|awk -F "src=" '{print $2}'|awk '{print $1}'|sed 's/"//g'`
echo $pic
curl -s -O $pic
echo "ok>>>"
exit
else
echo "end"
exit
fi
done
建立txt文件的内容如下
<img class="nature lazyload" src="https://p11.wnsimages.com/jingping/2022/09/03/7cb554a5-b28e-469a-9e10-769af352047d/001.jpg" data-original="https://p11.wnsimages.com/jingping/2022/09/03/7cb554a5-b28e-469a-9e10-769af352047d/001.jpg" alt="MiStar高清写真图VOL.303月音瞳" style="transition: all 1s ease 0s; opacity: 1; display: block;">
我们获取其中网址下载图片
我们尝试打开看下这张图片
这个就完成今天的内容了,小伙伴们可以试试用linux的shell写一些更加复杂的批量程序,爬取更多有趣土图片