前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
加入作者的python学习圈子:1156465813 即可免费获取,资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等
一、项目背景
在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片。
二、项目目标
1、根据给定的网址获取网页源代码。
2、利用正则表达式把源代码中的图片地址过滤出来。
3、过滤出来的图片地址下载素材图片。
三、涉及的库和网站
1、网址如下:
https://www.51miz.com/
2、涉及的库:requests、lxml
四、项目分析
首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示:
https://www.51miz.com/so-sucai/1789243.html https://www.51miz.com/so-sucai/1789243/p_2/ https://www.51miz.com/so-sucai/1789243/p_3/
我们可以发现图片页数是1789243/p{},p{}花括号数字表示图片哪一页。
五、项目实施
1、打开觅知网,在搜索中输入你想要的图片素材(以鼠年素材图片为例)。
![](https://pic3.zhimg.com/v2-18007455a1bbeb033fcb940494c44ce2_b.png)
2、根据上一步对网址的分析,首先我们定义一个类叫做ImageSpider,类里面定义初始化函数、发送请求获取响应数据函数、解析函数、主函数。首先初始化函数,准备url地址和headers,代码如下图所示。
![](https://pic4.zhimg.com/v2-fac61bd613079b60d82545f3d4d3418b_b.png)
3、发送请求获取相应数据函数。
![](https://pic2.zhimg.com/v2-6fdf00a3c2639836d46243498710e741_b.png)
4、解析数据,使用xpath获取二级页面链接,最后把图片存储在文件夹中。使用谷歌浏览器选择开发者工具或直接按F12,发现我们需要的图片src是在img标签下的,于是用Python的requests提取该组件。
![](https://pic2.zhimg.com/v2-57bcf5cdeef047396fdf0e74ccc15f55_b.png)
![](https://pic1.zhimg.com/v2-5f1019fee21868f24a0cec9adc5a35d0_b.png)
5、主函数,代码如下图所示。
![](https://pic2.zhimg.com/v2-499b6dc4e796991bfdc9004eaed86fa9_b.png)
六、效果展示
1、运行程序,在控制台输入你要爬取的页数,如下图所示。
![](https://pic4.zhimg.com/v2-3cb6555344db89431aed3d04e2e1e8db_b.png)
2、在本地可以看到效果图,如下图所示。
![](https://pic3.zhimg.com/v2-bac92f0d1984adcca034f130a0f003c2_b.png)
最后
如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,我来分享一波2020最新的Python教程。加入我的学习圈子:1156465813,就可以领取学习资料