最近貌似对好看的图着迷,Pixabay爬不到原图不甘心呀。
百度+知乎了下,于是转向pexels,同样一个高人气图片网站。
1、分析查看
首先点击进入官网,又见瀑布流,点击查看源码。进群:125240963 即可获取数十套PDF哦!
查看源代码和首页差不多,接着是图片真实地址链接。我在这里绕了几个弯,具体不叙述。
加上前面pixabay的坑,最后得到经验:直接点击官方下载按钮,从对话框中看到图片真实链接,这是最保险的模式。(因为有时“查看模式”并不能提供真实链接,而且有时也并不能下载得到。)
我第一次以为链接只有第二种,结果辛辛苦苦匹配正则下载的图确是这样的:
有些图并不能打开,又得到教训:爬虫爬下的图打不开时,可能链接地址是错的。
每个链接后面都多了个’?’,如何去掉字符串最后一位字符,我记得string类是没有像list类的pop()方法的,又考验Python基础。不过这个简单啦~
点击源码中href=”/search/water/?page=2”,页面跳转
地址栏里链接变成 https://www.pexels.com/search/water/?page=2
熟悉的感觉,这几个图好像刚刚那个页面也出现过。。。
回第一页源码中数了下,一共才发现15张缩略图的链接。
然后全明白了,回page1一数正好吻合。
原来获取图片接口在源码里啊,每一页15张,308就是最大页数了。
接着就简单了,又可以循环遍历,避开瀑布流啦^_^
试着下载图片,结果又出幺蛾子了:
二、结果
最后来看下结果
已经存在的图自动跳过。
强迫症患者,终于等到10页图全部下载完才睡。。。
本来准备随便拿个图看效果
结果太大了上传不了。。。。
(比如上图第一排最右边的那个图就有27M)
三、代码
这个爬虫还是可以的,就是速度太慢了了,等学了多线程再回来优化。
网友评论