Python爬虫练习——站长素材图片下载
需求:站长素材某一分类下的所有图片的缩略图信息
这里使用'https://sc.chinaz.com/tag_tupian/siwa.html' 作为例子

每张图片都有对应的src属性存储对应的缩略图的url,只不过这个url没有https:的前缀,这个需要我们加上。
所以,思路就很清晰了,首先获取当前页面的全部内容,再使用xpath解析页面得到对应图片的url,再对图片的url分别进行请求下载保存。
首先是翻页的操作
一个分类图片下面有数十页组成,刚才的操作只能完成第一页的图片下载。观察每页网页的url可以发现规律:
不同页码的url地址为:
首页 https://sc.chinaz.com/tag_tupian/siwa.html
二页https://sc.chinaz.com/tag_tupian/siwa_1.html
三页https://sc.chinaz.com/tag_tupian/siwa_2.html
四页https://sc.chinaz.com/tag_tupian/siwa_3.html
以此类推
在对整个页面发起请求之前,要先根据当前期望请求的页码构建对应的url,可以将这部分写在一个方法中,循环调用这个方法就可以实现对全部页面的请求

整张页面已经获取,接下来就是对页面的解析和图片的下载

现在爬虫下载图片的操作已经完成了,在设置好url后,只需要在main函数中循环调用上面两个方法,具体的循环次数可以设置成一个变量,爬取同分类的时候先从网页确认总共有几页,更改结束页码就行。

下面添加一点细节
1、自动获取总页码数
在每页的最后,有一个跳转页面的输入框,这个输入框有输入页码的范围限制,最大当然是全部页码数了。可以通过解析页面得到那条语句中的页码信息。

2、检查保存路径是否存在
如果保存的路径不存在,urlretrieve方法将会报错,在下载图片之前,先对给出的路径进行判断,如果不存在,建立对应的路径防止后面的方法报错,将下面这段代码加入到下载图片的方法开头
