0
点赞
收藏
分享

微信扫一扫

二叉树与堆

yellowone 2024-02-28 阅读 8

目录

一、准备工作

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

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

二、代码实现 

三、代码解析



一、准备工作

在开始之前,请确保你已经安装了Python,并且安装了以下库:
你可以使用以下命令来安装这些库:
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)

三、代码解析

四、注意事项

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

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

举报

相关推荐

0 条评论