实操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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
Python基于回溯法子集树模板解决0-1背包问题实例
Sep 02 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python yield与实现方法代码分析
Feb 06 Python
numpy中矩阵合并的实例
Jun 15 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
pyenv虚拟环境管理python多版本和软件库的方法
Dec 26 Python
Python程序控制语句用法实例分析
Jan 14 Python
JAVA SWT事件四种写法实例解析
Jun 05 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中的内存管理问题
2011/08/31 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python实现apahce网站日志分析示例
2014/04/02 Python
python网络编程学习笔记(四):域名系统
2014/06/09 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
scrapy-splash简单使用详解
2021/02/21 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
大专生自荐书范文
2014/06/22 职场文书
质量月活动总结
2014/08/26 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
观后感的写法
2015/06/19 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Python各协议下socket黏包问题原理
2022/04/12 Python