欢迎访问宙启技术站
智能推送

Python脚本:从网站上下载图片

发布时间:2023-12-04 22:46:42

以下是一个Python脚本的例子,用于从网站上下载图片:

import requests
import os
from urllib.parse import urljoin
from bs4 import BeautifulSoup

def download_image(url, save_directory):
    response = requests.get(url, stream=True)
    if response.status_code == 200:
        parsed_url = url.split("/")
        filename = parsed_url[-1]
        filepath = os.path.join(save_directory, filename)
        with open(filepath, 'wb') as f:
            for chunk in response.iter_content(1024):
                f.write(chunk)
        print(f"Downloaded {filename} successfully!")
    else:
        print("Failed to download image.")

def scrape_images(url, save_directory):
    response = requests.get(url)
    if response.status_code == 200:
        soup = BeautifulSoup(response.text, 'html.parser')
        image_tags = soup.find_all('img')
        for image_tag in image_tags:
            image_url = urljoin(url, image_tag['src'])
            download_image(image_url, save_directory)
    else:
        print(f"Failed to scrape images from {url}.")

if __name__ == "__main__":
    url = "https://example.com"  # 替换为你要下载图片的网站URL
    save_directory = "images"  # 替换为你想要保存图片的目录

    if not os.path.exists(save_directory):
        os.makedirs(save_directory)

    scrape_images(url, save_directory)

这个例子使用了以下库:

- requests:用于发送HTTP请求并获取响应。

- os:用于创建保存图片的目录。

- urllib.parse.urljoin:用于构建完整的图片URL地址。

- bs4.BeautifulSoup:用于解析网页内容并提取图片标签。