上一讲我们讲到了从昵图网的首页下载图片到本地,但是我们发现首页上面的大部分链接其实都可以进入到二级页面。
在二级页面里面,我们也可以同样进行图片的下载,通过层层循环我们可以把网址的一部分图片下载到本地(有些图片的链接是动态的,而且网站也会检测盗链等反爬虫设置,这个后续再讲)。
首先,我们整理下思路,在首页这里爬取图片的思路如下:
1、通过首页的地址获取首页的源代码
2、分析源代码中图片的链接地址,根据这个地址格式来组装正则表达式
3、根据正则表达式来批量匹配图片地址
4、根据匹配的地址进行循环下载到本地。
借鉴上面的思路,我们在二级页面同样可以使用这些步骤,只需要把首页的地址更换成二级页面的地址。
那么,二级页面的地址我们在首页的源码分析的时候可以直接获取,存在另外一个列表(现在为止有两个列表了,一个是用来存储页面的二级链接的,一个是用来存储本页面的图片地址的)。
由于我们爬取图片的功能都是可以反复调用的,所以我们把这部分的代码提取成一个函数。
最终代码如下:
运行效果如下:
图片会一直下载。