使用Python下载图片到本地

在现代社会,图片在我们的生活中扮演着越来越重要的角色。随着互联网技术的发展,我们可以随时随地的浏览和获取到各种形式的图片。但是,有时候我们需要将这些图片下载到本地,这时候如果手动一个一个的保存,就会非常的麻烦和耗费时间。针对这种情况,我们可以借助Python来编写程序,实现批量下载图片到本地的功能。

一、准备工作

在使用Python下载图片之前,我们需要准备好Python环境。如果你还没有安装Python,请前往官网下载并安装。

接着,我们需要安装requestsBeautifulSoup这两个Python库。requests库是一个网络库,可以方便的向网站发起请求获取数据。而BeautifulSoup库是一个解析HTML和XML文档的第三方库,我们可以用它来提取网页中我们需要的数据。

pip install requests
pip install beautifulsoup4

二、Python编写程序

有了前面的准备工作之后,我们就可以开始编写Python程序来下载图片了。

1、获取图片链接

在下载图片之前,我们需要先获取到图片的链接地址。一般来说,我们可以通过爬取网页来获取到需要下载的图片链接和其他相关信息。

假设我们要从以下这个网页中下载图片:https://www.meituri.com/t/1506/

我们可以使用requests库来向该网页发送一个请求,并通过BeautifulSoup库对返回的结果进行解析。

import requests
from bs4 import BeautifulSoup

url = 'https://www.meituri.com/t/1506/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, 'html.parser')
links = []

for img in soup.find_all('img'):
    links.append(img.get('src'))

在上面的代码中,我们通过requests库向目标网页发送了一个GET请求,并使用BeautifulSoup库解析了返回的结果。在解析时,我们使用了soup.find_all(‘img’)方法,这个方法可以帮助我们查找网页中所有的img标签,并返回它们的属性,也就是图片的链接地址。我们将这些链接保存在了links列表中。

2、下载图片

有了需要下载的图片链接之后,我们就可以使用Python编写程序来将图片下载到本地。

import os

path = 'test/'
if not os.path.exists(path):
    os.makedirs(path)

for link in links:
    filename = path + link.split('/')[-1]

    try:
        response = requests.get(link, headers=headers)
        with open(filename, 'wb') as f:
            f.write(response.content)
    except:
        print(link, '下载失败')

在上面的代码中,我们首先创建了一个名为test的文件夹,用来保存下载的图片。如果这个文件夹不存在,我们会使用os.makedirs()方法创建它。

然后,我们对每个图片链接进行遍历,先通过split方法获取该链接的文件名,然后使用requests库发送GET请求获取图片的二进制数据,并使用with open()方法将数据写入到本地文件中。

由于网络状况的不稳定,有些图片可能会下载失败。因此,我们使用了try/except语句来捕获异常,并打印出下载失败的链接地址。

三、总结

使用Python下载图片到本地是非常方便和实用的。我们可以借助Python的强大功能,批量下载海量的图片,从而提高我们的工作效率。

原创文章,作者:SMFT,如若转载,请注明出处:https://www.506064.com/n/150062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
SMFTSMFT
上一篇 2024-11-07 09:49
下一篇 2024-11-07 09:49

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论