搜索结果

×

搜索结果将在这里显示。

🍦 🔧 Python爬虫入门:从零开始写一个图片下载器

爬虫是Python最热门的应用场景之一,学会它可以帮你快速获取互联网上的各种数据。今天我们就来从零开始,一步步教你写一个能自动下载网页图片的爬虫脚本,适合Python新手入门。


📦 1. 环境准备

首先,我们需要安装必要的Python库:

pip install requests beautifulsoup4
  • requests:用于发送HTTP请求,获取网页内容
  • beautifulsoup4:用于解析HTML,提取我们需要的信息

🧩 2. 核心代码实现

以下是完整的图片下载器代码,包含详细注释:

import requests
from bs4 import BeautifulSoup
import os

def download_images(url, save_path='./images'):
    # 创建保存图片的文件夹
    if not os.path.exists(save_path):
        os.makedirs(save_path)

    # 发送HTTP请求,获取网页内容
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
    }
    response = requests.get(url, headers=headers)
    response.encoding = 'utf-8'

    # 解析HTML,提取所有图片链接
    soup = BeautifulSoup(response.text, 'html.parser')
    img_tags = soup.find_all('img')

    # 下载每张图片
    for index, img in enumerate(img_tags):
        img_url = img.get('src')
        if not img_url:
            continue

        # 处理相对链接
        if not img_url.startswith('http'):
            img_url = url + img_url

        try:
            # 下载图片
            img_response = requests.get(img_url, headers=headers)
            if img_response.status_code == 200:
                # 保存图片
                img_name = f'image_{index+1}.jpg'
                with open(os.path.join(save_path, img_name), 'wb') as f:
                    f.write(img_response.content)
                print(f'已下载:{img_name}')
        except Exception as e:
            print(f'下载失败:{img_url},错误信息:{e}')

if __name__ == '__main__':
    target_url = 'https://example.com/gallery'  # 替换为你要爬取的网页地址
    download_images(target_url)

📝 3. 代码解析

  1. 环境准备:导入需要的库,定义保存图片的路径。
  2. 发送请求:使用requests库发送HTTP请求,获取目标网页的HTML内容。
  3. 解析HTML:使用BeautifulSoup解析HTML,找到所有``标签。
  4. 处理链接:提取图片的src属性,处理相对链接,转换为完整的URL。
  5. 下载图片:发送请求下载图片,并保存到本地文件夹。

⚙️ 4. 运行说明

  1. 将代码保存为image_downloader.py
  2. 修改target_url为你想要爬取的网页地址。
  3. 在终端中运行:python image_downloader.py
  4. 图片会自动保存到当前目录下的images文件夹中。

⚠️ 5. 注意事项

  1. 遵守网站规则:在爬取前,请先查看网站的robots.txt文件,确保你的行为符合网站的使用条款。
  2. 设置请求头:添加User-Agent可以避免被网站识别为爬虫而拒绝访问。
  3. 异常处理:网络请求可能会失败,代码中加入了异常处理,确保程序不会崩溃。
  4. 频率控制:不要过于频繁地发送请求,避免给目标网站造成过大压力。

💡 写在最后
这个图片下载器是一个非常基础的爬虫脚本,你可以在此基础上进行扩展,比如增加多线程下载、支持更多图片格式、添加进度条等。爬虫的世界非常广阔,希望这个例子能帮助你迈出第一步!

收藏
文章目录
    阅读:232
    发布时间: