实操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 20 Python
Python中类型检查的详细介绍
Feb 13 Python
Django admin美化插件suit使用示例
Dec 12 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
对django中foreignkey的简单使用详解
Jul 28 Python
Python动态声明变量赋值代码实例
Dec 30 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
python 读取、写入txt文件的示例
Sep 27 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
一个简单实现多条件查询的例子
2006/10/09 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python验证码识别的方法
2015/07/10 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python实现爬山算法的思路详解
2019/04/09 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
django项目中新增app的2种实现方法
2020/04/01 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
钳工实习自我鉴定
2013/09/19 职场文书
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
sql server 累计求和实现代码
2022/02/28 SQL Server