当前位置: 首页 > 后端技术 > Python

Python爬虫实战爬取网站所有图片(二)

时间:2023-03-26 10:59:38 Python

爬取网站:https://www.mzitu.com/xinggan/page/1/一、获取图片地址和图片名称1、进入网站后,按F12打开开发者工具,点击elemnts2.点击下图中的小箭头,选择主图中的任意一张图片,那么我们这里点击第一张图片3.显示控制台,验证xpath是否正确4.通过xpath获取a的href和title(请放大)我们看到有24个。让我们回到网站上看看。在主页上,有32个。为什么我们得到24?其实仔细看的话,可以看到里面有几张图片是插在广告里的。广告没有href和data-originl这两个属性。也就是说我们获取到的href和title是没有问题的,留着给我们以后用吧。5、我们还需要访问这个链接请求头的信息,用于后面的操作。这里可以看到没有特殊的请求头6.获取每组图片中的所有图片。这也是我们的宗旨。否则,前面的过程并没有浪费。但是我们进来的时候发现他只有一张图片,需要点下一页才能拿到剩下的图片。所以我们这里的思路很简单,先获取图片的地址,同时获取最大的页码,这样我们就可以通过循环自己构造它的图片地址,但是在构造图片的时候需要知道它的这样我们就可以保证自己构造的地址不会有问题了,那我们开始吧:第一张图,第二张图,最后一张图,我们可以发现他的图片的地址很简单,直接加上数字向后。7.获取图片地址和页码。上面是页码,下面是图片地址。8.获取对应的请求头。可以发现需要关注的字段Referer只有一个。这里的地址就是我们访问这个页面时的地址。只需将该地址提供给That'sit。这里之所以需要Referer,是因为网站基本都有防盗链,防盗链就是看有没有价值。如果你直接请求,它会返回一些错误的东西或错误。至此,我们所有的事情都已经完成了。开始编写代码。这里的代码与上一篇文章中的代码大致相同。9、对于404的处理,如果出现404,那么只需要重新请求一次。2.编写python代码实现爬取。1.需要用到的库有::requestslxml没有安装的请自行安装2.IDE:vscode3.python版本:2.7.154.代码实现了多线程下载,所以多线程的好处就不用我多说了吧。下载地址:https://download.csdn.net/download/qq_33958297/12195870保留效果图可能有点过分。代码已经在python2平台上测试通过,可以直接下载,无需更改网站上的相关数据。建议下载代码的朋友先检查一下网站的布局是否发生了变化。————————————————