python网络爬虫快速下载4K高清壁纸
此处给出下载壁纸的链接地址彼岸图网,进入网站之后,我们看到可以下载风景,游戏,动漫,美女等类型的4K图片,装逼一下,re库有贪婪匹配,那我们就写一个通用代码来下载网站全部的图片。
1. 观察页面布局,获取页面源代码
-
打开彼岸图网的链接之后,进入开发者模式,快捷键为(Fn + F12),观察网页源代码发现,我们所要解析的图片都存放在了body标签下面的<div,class = “wrap clearfix”>中的<div , class = “slist”>下面的所有的li标签下。
-
为了提示用户可下载的最大页码数量,我们还需要知道最大页码的存放位置,通过定位发现,最大页码存储在<div,class = “wrap clearfix”>中的<div , class = “page”>标签下面。
max_page = tree1.xpath('//div[@class = "page"]/a[7]/text()')[0]
- 此时,我们已经找到了需要解析的图片和页码的位置,为接下来解析提供了基础。
2. 解析图片的地址和名称
接上述第一点,我们发现了图片的地址存储在li标签下面a标签img的属性src中,属性alt中存储着图片的名称。我们选择xpath进行解析,需要导入第三方库lxml。
img_list = "http://pic.netbian.com" + li.xpath('./a/img/@src')[0]
title_list = li.xpath('./a/img/@alt')[0] + ".jpg"
3. 进行持久性存储
在存储之前在子目录下面新建一个文件夹进行存储照片,之后将图片保存下来。
if not os.path.exists('./picLibs'):
os.mkdir('./picLibs')
for li in li_list: