查看原文
其他

40行代码+奇技淫巧搞定专属电脑壁纸库【附壁纸】

2017-09-11 施维 Python爱好者社区

作者:数据取经团——施维

数据取经团(公众号:zlx19930503)

专注R、Python数据分析挖掘、可视化、机器学习

项目效果

项目背景

最近电脑壁纸存量捉急,老是几张图片看得有点厌烦,就想着能不能一次性下载多一些壁纸,用幻灯片放映方式天天换壁纸,天天好心情。于是乎找了一个免费图片网址PEXELS, 开始撸一波代码,写个小爬虫搞个壁纸库。本文主要会解释一下代码的实现和整个写代码的流程,可供爬虫初学者一起学习。如果想直接拿壁纸,可直接跳到文章最后。

项目流程

要写爬虫,首先我们打开网页,习惯性按一下f12,姿势就很帅。

2.1 翻页

要爬取图片网页,特别是这种瀑布流的网页,一个很重要的点就是怎么自动翻页,所以我直接从这一点入手。一般来说,翻页数据是动态加载,所以,你可以选择network部分,只查看XHR,一边把网页往下滑动看看它都动态加载了一些什么,结果如图:

可以看见,其实格式还是挺统一的嘛!随便点一个看看,会发现像这样的一个网址:

可以看到后面部分都是网页参数,而且是带有时间的参数,哎哟,这可怎么搞。秉着对于不知道的先瞎搞再说的原则,我直接把后面的参数去掉,得到这样的链接,翻页就是page往上加:

一回车,情景是这样的:

我一看就懵逼了,这原来是个js文件,看着好乱,怎么办!!等我定睛一看,里面好像有挺多像.jpeg和.png之类的链接地址,地址里面还有图片的id!!像这样:

美滋滋,这样一来,我们直接有了翻页技能和图片id,还愁图片没法下载?

2.2 图片自定义宽高下载

我先打开了js文件中的图片链接试了一下,发现确实是直接跳到一张图片,不过链接里面参数好多,懒得看了,我就直接先通过正常网页下载流程试了一次,注意保持打开f12:

可以看到,这个网站可以自定义下载图片的宽高,相当良心,根据我的电脑,我选择了1920*1080. 可以看到,在我点击download按钮的时候,f12网页检查器显示加载了好几个文件,注意这个时候要选择All视图选项。很容易看出,最后一个就是下载加载文件,直接点开看详情,可以看到注意一个网址:

直接复制到浏览器回车,就可以直接下载图片了,美滋滋。

代码与下载

有了上面的步骤,我们很容易就能知道代码应该怎么写,无非就是构造网址、访问网址、信息提取、再构造网址...

因为公众号文章大多是手机阅读,不方便显示代码,所以具体代码和壁纸都放在github上,可以在上面浏览和下载代码,代码有注释,也可获取100张壁纸下载百度云链接。

文中如有错误和叙述不妥之处,望指正。

作者系列文章:爬虫界的一股清流——用安卓做一个朋友圈屏蔽检测器

本文代码的获取方式:只需关注本公众号并回复“壁纸爬虫”

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。


Python爱好者社区


为大家提供与Python相关的最新技术和资讯。

长按指纹 > 识别图中二维码 > 添加关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存