项目效果
项目背景
最近电脑壁纸存量捉急,老是几张图片看得有点厌烦,就想着能不能一次性下载多一些壁纸,用幻灯片放映方式天天换壁纸,天天好心情。于是乎找了一个免费图片网址PEXELS, 开始撸一波代码,写个小爬虫搞个壁纸库。本文主要会解释一下代码的实现和整个写代码的流程,可供爬虫初学者一起学习。如果想直接拿壁纸,可直接跳到文章最后。
有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦
项目流程
要写爬虫,首先我们打开网页,习惯性按一下f12,姿势就很帅。
2.1 翻页
要爬取图片网页,特别是这种瀑布流的网页,一个很重要的点就是怎么自动翻页,所以我直接从这一点入手。一般来说,翻页数据是动态加载,所以,你可以选择network部分,只查看XHR,一边把网页往下滑动看看它都动态加载了一些什么,结果如图:
可以看见,其实格式还是挺统一的嘛!随便点一个看看,会发现像这样的一个网址:
可以看到后面部分都是网页参数,而且是带有时间的参数,哎哟,这可怎么搞。秉着对于不知道的先瞎搞再说的原则,我直接把后面的参数去掉,得到这样的链接,翻页就是page往上加:
一回车,情景是这样的:
我一看就懵逼了,这原来是个js文件,看着好乱,怎么办!!等我定睛一看,里面好像有挺多像.jpeg和.png之类的链接地址,地址里面还有图片的id!!像这样:
美滋滋,这样一来,我们直接有了翻页技能和图片id,还愁图片没法下载?
2.2 图片自定义宽高下载
我先打开了js文件中的图片链接试了一下,发现确实是直接跳到一张图片,不过链接里面参数好多,懒得看了,我就直接先通过正常网页下载流程试了一次,注意保持打开f12:
可以看到,这个网站可以自定义下载图片的宽高,相当良心,根据我的电脑,我选择了1920*1080. 可以看到,在我点击download按钮的时候,f12网页检查器显示加载了好几个文件,注意这个时候要选择All视图选项。很容易看出,最后一个就是下载加载文件,直接点开看详情,可以看到注意一个网址:
直接复制到浏览器回车,就可以直接下载图片了,美滋滋。
代码与下载
有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以加学习群:548377875,反正闲着也是闲着呢,不如学点东西啦~~
有了上面的步骤,我们很容易就能知道代码应该怎么写,无非就是构造网址、访问网址、信息提取、再构造网址...
文中如有错误和叙述不妥之处,望指正。