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

作者:pengdongcheng 时间:2021-12-12 21:19:59 

【一、项目背景】

   在素材网想找到合适图片需要一页一页往下翻,现在学会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网络爬虫,利用爬虫库,实现素材图片的获取。实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

来源:https://blog.51cto.com/u_13389043/4691833

标签:Python,爬取图片
0
投稿

猜你喜欢

  • 讲解设计应用程序时避免阻塞的八个准则

    2009-01-04 14:16:00
  • 浅谈Python中eval的强大与危害

    2022-05-03 08:15:13
  • Python异步爬虫requests和aiohttp中代理IP的使用

    2021-06-26 11:56:05
  • 用户是如何浏览你的网站的

    2010-05-03 14:26:00
  • pip更新问题的解决:'python -m pip install --upgrade pip' 报错问题(最新推荐)

    2023-04-23 04:32:13
  • 详解Python+Matplotlib绘制面积图&热力图

    2021-10-10 10:16:29
  • Python如何避免文件同名产生覆盖

    2021-02-05 21:16:34
  • Python3 ffmpeg视频转换工具使用方法解析

    2021-07-28 15:00:30
  • Pycharm设置界面全黑的方法

    2021-09-15 11:13:51
  • python中string模块各属性以及函数的用法介绍

    2023-12-07 13:49:47
  • python self,cls,decorator的理解

    2023-12-21 00:09:35
  • python 中的命名空间,你真的了解吗?

    2023-12-23 20:19:58
  • AJAX缓存的问题解决办法

    2009-04-26 14:47:00
  • Python中获取网页状态码的两个方法

    2023-08-27 22:47:21
  • CSS教程:轻松解决表格的nobr问题

    2008-10-29 11:55:00
  • 用Python编写简单的gRPC服务的详细过程

    2023-07-22 13:41:39
  • PyHacker编写指南引用Nmap模块实现端口扫描器

    2023-07-15 14:15:40
  • python中用ggplot绘制画图实例讲解

    2023-07-04 07:25:16
  • Python实现统计文本中的字符数量

    2021-01-28 00:27:04
  • python批量读取文件名并写入txt文件中

    2021-02-18 16:32:29
  • asp之家 网络编程 m.aspxhome.com