Python爬虫实战:图片爬取与保存 您所在的位置:网站首页 爬虫实战20 Python爬虫实战:图片爬取与保存

Python爬虫实战:图片爬取与保存

2024-06-02 07:11| 来源: 网络整理| 查看: 265

引言: 在本文中,我们将学习如何使用Python创建一个简单的图片爬虫。

我们将利用requests库来发送HTTP请求,BeautifulSoup库来解析HTML页面,以及**os和shutil**库来下载和保存图片。通过这个教程,你将学会如何爬取网页上的图片并保存到本地。

目录

一、准备工作

在开始之前,请确保你已经安装了Python,并且安装了以下库:

你可以使用以下命令来安装这些库:

二、代码实现

三、代码解析

一、准备工作 在开始之前,请确保你已经安装了Python,并且安装了以下库: requests:用于发送HTTP请求beautifulsoup4:用于解析HTML页面 你可以使用以下命令来安装这些库: pip install requests beautifulsoup4 二、代码实现 import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin from urllib.request import urlretrieve def download_images(url, save_dir): """ 下载指定网页上的所有图片并保存到本地文件夹 :param url: 目标网页的URL :param save_dir: 图片保存的目录 """ # 创建保存图片的目录 if not os.path.exists(save_dir): os.makedirs(save_dir) # 发送HTTP请求 response = requests.get(url) response.raise_for_status() # 如果请求失败,抛出异常 # 使用BeautifulSoup解析页面 soup = BeautifulSoup(response.text, 'html.parser') # 查找所有的图片链接 image_links = soup.find_all('img') # 下载并保存图片 for img in image_links: img_url = img.get('src') # 如果图片链接是相对路径,则将其转换为绝对路径 if not img_url.startswith(('http://', 'https://')): img_url = urljoin(url, img_url) # 下载图片 img_name = os.path.join(save_dir, img_url.split('/')[-1]) urlretrieve(img_url, img_name) print(f"Downloaded: {img_name}") # 使用示例 url = "https://example.com" # 替换为你要爬取的网页的URL save_dir = "images" # 图片保存的目录 download_images(url, save_dir) 三、代码解析 导入库:首先,我们导入了所需的库,包括os、requests、BeautifulSoup、urllib.parse和urllib.request。定义函数:我们定义了一个名为download_images的函数,它接受两个参数:url(目标网页的URL)和save_dir(图片保存的目录)。创建保存目录:如果指定的保存目录不存在,我们将创建它。发送HTTP请求:使用**requests.get方法发送HTTP请求,并使用response.raise_for_status**检查请求是否成功。解析页面:使用**BeautifulSoup解析HTML页面,并查找所有的**标签,以获取图片链接。下载并保存图片:遍历每个图片链接,将其转换为绝对路径(如果需要),并使用**urlretrieve**方法下载图片然后,将图片保存到指定的目录,并打印出下载的文件名。使用示例:最后,我们提供了一个使用示例,包括目标网页的URL和图片保存的目录。

四、注意事项

在使用爬虫时,请确保遵守目标网站的robots.txt文件和使用条款,并尊重他人的版权和隐私。不要对网站造成过大的压力或进行恶意爬取。可以根据需要进一步扩展此代码,例如增加错误处理、添加代理支持、限制并发请求数、使用异步IO等。

通过本文的学习,你已经掌握了如何使用Python创建一个简单的图片爬虫。你可以根据自己的需求进一步扩展和优化这个爬虫。记得在使用爬虫时要遵守相关规定和法律法规,尊重他人的权益。

▍学习资源推荐

零基础Python学习资源介绍

👉Python学习路线汇总👈 Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈) 在这里插入图片描述

👉Python必备开发工具👈 在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈 观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 在这里插入图片描述

👉实战案例👈 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 在这里插入图片描述

👉100道Python练习题👈 检查学习结果。 在这里插入图片描述 👉面试刷题👈 在这里插入图片描述在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有