实操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获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Django中模型Model添加JSON类型字段的方法
Jun 17 Python
Python图算法实例分析
Aug 13 Python
利用python发送和接收邮件
Sep 27 Python
Python类的动态修改的实例方法
Mar 24 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Django用户认证系统如何实现自定义
Nov 12 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 Python
python RSA加密的示例
Dec 09 Python
Python 多进程原理及实现
Dec 21 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
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
python实现黑客字幕雨效果
2018/06/21 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
python str字符串转uuid实例
2020/03/03 Python
django在开发中取消外键约束的实现
2020/05/20 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
委托书格式要求
2015/01/28 职场文书
高中数学教学反思范文
2016/02/18 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
详解Laravel框架的依赖注入功能
2021/05/27 PHP
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server
OpenFeign实现远程调用
2022/08/14 Java/Android