python批量爬取图片的方法详解

 更新时间:2023年12月11日 09:17:17   作者:开心就好啦啦啦  
这篇文章给大家介绍了如何使用python批量爬取图片,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

在这里插入图片描述

爬取的目标网站为

https://sc.chinaz.com/tupian/qinglvtupian.html

如果爬取多页,需要依次遍历每一页,经过分析跳转其它页面的规律如下

https://sc.chinaz.com/tupian/qinglvtupian_N.html
N从2开始,除了第一页不同,后面跳转其它页面规律相同

爬虫步骤

  • 根据请求url地址获取网页源码,使用requests库
  • 通过xpath解析源码获取需要的数据
  • 获取到数据下载到本地

爬取前十页图片到本地

根据页码获取网络源码

def create_request(page):
    if page == 1:
        url = 'https://sc.chinaz.com/tupian/qinglvtupian.html'
    else:
        url = 'https://sc.chinaz.com/tupian/qinglvtupian_'+str(page)+'.html'
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
    }
    request = urllib.request.Request(url,headers=header)
    #获取网络源码
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf-8')
    return content

使用xpath解析网页

使用xpath需要在chrome中安装此插件,安装xpath完成后,按alt+shift+x就会出现黑框

//img[@class="lazy"]/@alt  #获取图片名称
//img[@class="lazy"]/@data-original  #获取图片地址

在这里插入图片描述

解析网页并下载图片

下载图片、网页、视频使用的函数为urllib.request.urlretrieve()

def down_load(content):
    tree = etree.HTML(content) #解析网页数据   解析本地的html文件  etree.parse('D:/pages/test.html')
    name_list = tree.xpath('//img[@class="lazy"]/@alt')
    # 图片会进行懒加载
    src_list = tree.xpath('//img[@class="lazy"]/@data-original')
    for i in range(len(name_list)):
        name = name_list[i]
        src = src_list[i]
        url = 'https:'+src
        urllib.request.urlretrieve(url,filename='../loveImg/'+name+'.jpg')#先在当前目录下创建loveImg文件夹

主函数如下

if __name__ == '__main__':
    start_page = int(input("开始页"))
    end_page = int(input("结束页"))
    for page in range(start_page,end_page+1):
        context = create_request(page)
        down_load(context)

下载的图片会在loveImg目录

在这里插入图片描述

以上就是python批量爬取图片的方法详解的详细内容,更多关于python批量爬取图片的资料请关注脚本之家其它相关文章!

相关文章

  • python实现防截图的6种方法详解

    python实现防截图的6种方法详解

    防截图是指一组技术或方法,用于防止他人在未经允许的情况下在屏幕上截取或记录图像,这是一个重要的安全措施,它可以防止窃取敏感信息或监视个人信息,本文为大家整理了6种python可以防截图的方法,需要的可以参考下
    2023-10-10
  • python如何将图片转换为字符图片

    python如何将图片转换为字符图片

    这篇文章主要为大家详细介绍了python将图片转换为字符图片的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Windows下Sqlmap环境安装教程详解

    Windows下Sqlmap环境安装教程详解

    这篇文章主要介绍了Windows下Sqlmap环境安装,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Python 实现Serial 与STM32J进行串口通讯

    Python 实现Serial 与STM32J进行串口通讯

    今天小编就为大家分享一篇Python 实现Serial 与STM32J进行串口通讯,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 探究Python中isalnum()方法的使用

    探究Python中isalnum()方法的使用

    这篇文章主要介绍了探究Python中isalnum()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python删除空文件和空文件夹的方法

    Python删除空文件和空文件夹的方法

    这篇文章主要介绍了Python删除空文件和空文件夹的方法,涉及Python针对文件与文件夹的遍历、判断与删除等技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 使用python+Flask实现日志在web网页实时更新显示

    使用python+Flask实现日志在web网页实时更新显示

    日志是一种可以追踪某些软件运行时所发生事件的方法,下面这篇文章主要给大家介绍了关于使用python+Flask实现日志在web网页实时更新显示的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python模拟菜刀反弹shell绕过限制【推荐】

    python模拟菜刀反弹shell绕过限制【推荐】

    这篇文章主要介绍了利用python模拟菜刀反弹shell绕过限制,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 利用Python实现一个简易的截图工具

    利用Python实现一个简易的截图工具

    这篇文章主要为大家详细介绍了如何利用Python实现一个简易的截图工具,可以截完图之后显示并且永远前置,感兴趣的小伙伴可以尝试一下
    2022-07-07
  • Python工具PDB调试器的使用方法详解

    Python工具PDB调试器的使用方法详解

    还记得你是如何进行代码调试的吗?有人会说,我是添加一些输出语句,有人说,我是使用IDE自带的设置断点功能,当然都没有错,只是看哪个更合适,更能提升效率,但这都不是我们今天讲的重点,今天的重点是Python中PDB调试器的使用方法,需要的朋友可以参考下
    2023-11-11

最新评论