实操Python爬取觅知网素材图片示例


Posted in Python onNovember 27, 2021

【一、项目背景】

   在素材网想找到合适图片需要一页一页往下翻,现在学会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、打开觅知网,在搜索中输入你想要的图片素材(以鼠年素材图片为例)。

实操Python爬取觅知网素材图片示例 

2、根据上一步对网址的分析,首先我们定义一个类叫做ImageSpider,类里面定义初始化函数、发送请求获取响应数据函数、解析函数、主函数。首先初始化函数,准备url地址和headers,代码如下图所示。

实操Python爬取觅知网素材图片示例

3、发送请求获取响应数据函数。

实操Python爬取觅知网素材图片示例

4、解析数据,使用xpath获取二级页面链接,最后把图片存储在文件夹中。使用谷歌浏览器选择开发者工具或直接按F12,发现我们需要的图片src是在img标签下的,于是用Python的requests提取该组件。

实操Python爬取觅知网素材图片示例

实操Python爬取觅知网素材图片示例

5、主函数,代码如下图所示。

实操Python爬取觅知网素材图片示例

【六、效果展示】

1、运行程序,在控制台输入你要爬取的页数,如下图所示。

实操Python爬取觅知网素材图片示例

2、在本地可以看到效果图,如下图所示。

实操Python爬取觅知网素材图片示例

【七、总结】

   1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

   2、希望通过这个项目,能够帮助大家下载到素材图片。

   3、本文基于Python网络爬虫,利用爬虫库,实现素材图片的获取。实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

到此这篇关于实操Python爬取觅知网素材图片示例的文章就介绍到这了,更多相关Python爬取觅知网素材图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python对小数进行除法运算的正确方法示例
Aug 25 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
Python实现DDos攻击实例详解
Feb 02 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
python 装饰器功能与用法案例详解
Mar 06 Python
Python sorted排序方法如何实现
Mar 31 Python
keras 读取多标签图像数据方式
Jun 12 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
python神经网络学习 使用Keras进行回归运算
May 04 Python
Python函数中apply、map、applymap的区别
Nov 27 #Python
python字符串拼接.join()和拆分.split()详解
Nov 23 #Python
Python装饰器的练习题
Nov 23 #Python
python人工智能human learn绘图可创建机器学习模型
利用Python实现Picgo图床工具
Nov 23 #Python
python turtle绘图命令及案例
python机器学习Github已达8.9Kstars模型解释器LIME
You might like
GD输出汉字的函数的分析
2006/10/09 PHP
PHP禁止页面缓存的代码
2011/10/23 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
JS实现吸顶特效
2020/01/08 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
Python实现通讯录功能
2018/02/22 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
python numpy数组中的复制知识解析
2020/02/03 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
MYSQL支持事务吗
2013/08/09 面试题
教师节标语大全
2014/10/07 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android