iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python自动爬取图片并保存
  • 879
分享到

如何使用Python自动爬取图片并保存

2023-06-22 07:06:01 879人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下如何使用python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作用Python来实现对百度图片的爬取并保存,以情

小编给大家分享一下如何使用python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、准备工作

Python来实现对百度图片的爬取并保存,以情绪图片为例,百度搜索可得到下图所示

如何使用Python自动爬取图片并保存

f12打开源

如何使用Python自动爬取图片并保存

在此处可以看到这次我们要爬取的图片的基本信息是在img - scr中

二、代码实现

这次的爬取主要用了如下的第三方库

import reimport timeimport requestsfrom bs4 import BeautifulSoupimport os

简单构思可以分为三个小部分

获取网页内容

解析网页

保存图片至相应位置

下面来看第一部分:获取网页内容

baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&fORM=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'head = {        "User-Agent": "Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"}    response = requests.get(baseurl, headers=head)  # 获取网页信息    html = response.text  # 将网页信息转化为text形式

是不是so easy

第二部分解析网页才是大头

来看代码

Img = re.compile(r'img.*src="(.*?)"')  # 正则表达式匹配图片soup = BeautifulSoup(html, "html.parser")  # BeautifulSoup解析html    #i = 0  # 计数器初始值    data = []  # 存储图片超链接的列表    for item in soup.find_all('img', src=""):  # soup.find_all对网页中的img—src进行迭代        item = str(item)  # 转换为str类型        Picture = re.findall(Img, item)  # 结合re正则表达式和BeautifulSoup, 仅返回超链接        for b in Picture:            data.append(b)            #i = i + 1            return data[-1]     # print(i)

这里就运用到了BeautifulSoup以及re正则表达式的相关知识,需要有一定的基础哦

下面就是第三部分:保存图片

    for m in getdata(            baseurl='Https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'):        resp = requests.get(m)  #获取网页信息        byte = resp.content  # 转化为content二进制        print(os.getcwd()) # os库中输出当前的路径        i = i + 1 # 递增        # img_path = os.path.join(m)        with open("path{}.jpg".format(i), "wb") as f: # 文件写入            f.write(byte)            time.sleep(0.5) # 每隔0.5秒下载一张图片放入D://情绪图片测试        print("第{}张图片爬取成功!".format(i))

各行代码的解释已经给大家写在注释中啦,不明白的地方可以直接私信或评论哦~

下面是完整的代码

import reimport timeimport requestsfrom bs4 import BeautifulSoupimport os   # m = 'https://tse2-mm.cn.bing.net/th/id/OIP-C.uihwmxDdgfK4FlCIXx-3jgHaPc?w=115&h=183&c=7&r=0&o=5&pid=1.7''''resp = requests.get(m)byte = resp.contentprint(os.getcwd())img_path = os.path.join(m)'''def main():    baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'    datalist = getdata(baseurl)  def getdata(baseurl):    Img = re.compile(r'img.*src="(.*?)"')  # 正则表达式匹配图片    datalist = []    head = {        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"}    response = requests.get(baseurl, headers=head)  # 获取网页信息    html = response.text  # 将网页信息转化为text形式    soup = BeautifulSoup(html, "html.parser")  # BeautifulSoup解析html    # i = 0  # 计数器初始值    data = []  # 存储图片超链接的列表    for item in soup.find_all('img', src=""):  # soup.find_all对网页中的img—src进行迭代        item = str(item)  # 转换为str类型        Picture = re.findall(Img, item)  # 结合re正则表达式和BeautifulSoup, 仅返回超链接        for b in Picture:  # 遍历列表,取最后一次结果            data.append(b)            # i = i + 1            datalist.append(data[-1])    return datalist  # 返回一个包含超链接的新列表    # print(i) '''with open("img_path.jpg","wb") as f:    f.write(byte)''' if __name__ == '__main__':    os.chdir("D://情绪图片测试")     main()    i = 0  # 图片名递增    for m in getdata(            baseurl='https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'):        resp = requests.get(m)  #获取网页信息        byte = resp.content  # 转化为content二进制        print(os.getcwd()) # os库中输出当前的路径        i = i + 1 # 递增        # img_path = os.path.join(m)        with open("path{}.jpg".format(i), "wb") as f: # 文件写入            f.write(byte)            time.sleep(0.5) # 每隔0.5秒下载一张图片放入D://情绪图片测试        print("第{}张图片爬取成功!".format(i))

最后的运行截图

如何使用Python自动爬取图片并保存

以上是“如何使用Python自动爬取图片并保存”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何使用Python自动爬取图片并保存

本文链接: https://www.lsjlt.com/news/303314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Python自动爬取图片并保存
    小编给大家分享一下如何使用Python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作用python来实现对百度图片的爬取并保存,以情...
    99+
    2023-06-22
  • Python爬虫 自动爬取图片并保存
    一、准备工作   用python来实现对图片网站的爬取并保存,以情绪图片为例,搜索可得到下图所示 f12打开源码 在此处可以看到这次我们要爬取的图片的基本信息是在img - scr中 二、代码实现 这次的爬取主要用了如下的第三方库...
    99+
    2023-10-09
    爬虫 python 数据挖掘
  • Python自动爬取图片并保存实例代码
    目录一、准备工作二、代码实现 三、总结一、准备工作 用python来实现对百度图片的爬取并保存,以情绪图片为例,百度搜索可得到下图所示 f12打开源码 在此处可以看到这...
    99+
    2024-04-02
  • 使用Python怎么爬取网站图片并保存
    这期内容当中小编将会给大家带来有关使用Python怎么爬取网站图片并保存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。第一步,导入模块import requestsfrom bs4&n...
    99+
    2023-06-06
  • 利用Java如何实现爬取网络图片并保存
    这篇文章给大家介绍利用Java如何实现爬取网络图片并保存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体内容如下package getUrlPic;import java.io.ByteArrayOutputStre...
    99+
    2023-05-31
    java ava
  • 如何利用python多线程爬取天气网站图片并保存
    目录1.1 题目1.2 思路 1.2.1 发送请求1.2.2 解析网页 1.2.3 获取结点 1.2.4 数据保存 (单线程) 1.2.4 数据保存 (多线程)总结1.1 题目 指定...
    99+
    2024-04-02
  • 如何使用Python爬虫爬取网站图片
    这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif...
    99+
    2023-06-22
  • 怎么利用python多线程爬取天气网站图片并保存
    这篇文章主要介绍了怎么利用python多线程爬取天气网站图片并保存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.1 题目指定一个网站,爬取这个网站中的所有的所有图片,例如...
    99+
    2023-06-25
  • python爬虫如何爬取图片
    这篇文章主要介绍了python爬虫如何爬取图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pytho...
    99+
    2023-06-14
  • 如何使用Python爬虫实现自动下载图片
    小编给大家分享一下如何使用Python爬虫实现自动下载图片,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float...
    99+
    2023-06-14
  • python实现简单爬取图片保存到本地
    import requests import os url="http://lofter.nos.netease.com/sogou-Y1gxMDFIeFVHeWhCTkZaMEkzYWx1bGR5WEszQTdRTEZPcndxZWo3Q...
    99+
    2023-01-31
    简单 图片 python
  • python 使用requests爬取百度图片并显示
    爬取百度图片并显示 引言一、图片显示二、代码详解2.1 得到网页内容2.2 提取图片url2.3 图片显示 三、完整代码 引言 爬虫(Spider),又称网络爬虫(Web Crawle...
    99+
    2023-10-04
    python 爬虫 百度图片 requests
  • 使用Python爬虫爬取妹子图图片
            最近在学习Python的爬虫部分。看到有网友在分享使用爬虫爬取各种网站的图片的代码,也想自己写个玩玩。今天花时间分析了一下妹子图网站的结构和HTML代码,使用urllib2和BeautifulSoup写出了一个自动下载妹子图...
    99+
    2023-01-31
    爬虫 妹子 图图
  • 如何用Python爬取百度搜索结果并保存
    这篇文章主要讲解了“如何用Python爬取百度搜索结果并保存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用Python爬取百度搜索结果并保存”吧! 一、前言众所周知,百度上直...
    99+
    2023-06-15
  • Python使用PIL.image保存图片
    目录1.原图1.首先PIL保存图片的时候,图片类型一定要是ndarray类型,不能是tensor类型,否则报错2.tensor转成ndarray类型保存3.如果不进行归一化处理,也会...
    99+
    2022-12-22
    pil image保存图片 python pil保存图片 pil.image.save
  • python如何爬取网页图片
    要使用Python爬取网页图片,可以使用requests库来发送HTTP请求,然后使用beautifulsoup库或者正则表达式来解...
    99+
    2023-08-20
    python
  • 如何使用Java爬虫批量爬取图片
    目录Java爬取图片爬取思路具体步骤具体代码实体类 Picture 和 工具类 HeaderUtil下载类最重要的类:解析页面类 PictureSpider启动类 BootStrap...
    99+
    2023-05-15
    Java爬虫 Java爬虫批量 批量爬取图片
  • 如何使用node.js爬取知乎图片
    这篇文章主要介绍了如何使用node.js爬取知乎图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原理初入爬虫的坑,没有太多深奥的理论知识,...
    99+
    2024-04-02
  • selenium爬取博客园文章保存到mysql并自动发布
    分析目标网站:https://www.cnblogs.com/爬取的内容是编程语言里面的python技术文章它这里是有js动态加载的标签,而且经过观察()里面的数字是会随机变化的,并不是写死的(推测是一种防爬虫策略)。如何解决呢?直接获取标...
    99+
    2023-01-30
    博客园 文章 selenium
  • 怎么使用python爬取网页图片
    本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作