侧边栏壁纸

使用 Python 脚本下载指定网页的图片文件

2025年08月31日 27阅读 0评论 0点赞

有小伙伴反馈说侧边栏随机图出现了重复,有些审美疲劳,要求杜老师再更新一些图片,正好聊天广场有小伙伴分享了一个美图的网址。本文分享如何使用 Python 脚本下载指定网页的图片文件,需要的小伙伴可以参考文中代码。

代码需求

使用 Python 的语言编写一个脚本,下载指定网址中包含的多种格式图片文件,如 JPG 和 PNG 格式图片。

将图片保存至指定的目录中,可以指定绝对路径,或者相对路径。

并用随机数重命名,防止同名图片触发覆盖事件。

尽可能使用 Python 的标准库,尽量避免使用第三方库。

变更解释

导入必要的库:包括 os/requests/re 以及 random;

定义函数:download_images 函数可用于下载图片;

获取图片链接:使用正则表达式从网页内容中提取图片 URL;

下载保存图片:使用 requests 库下载图片,并且使用 random 库生成随机数作为文件名;

指定目录:确保保存目录存在,如果不存在则创建;

获取内容:使用 requests 库获取网页内容。

功能代码

import os
import requests
import re
import random

def download_images(url, save_folder):
    # 确保保存目录存在
    if not os.path.exists(save_folder):
        os.makedirs(save_folder)

    # 发送HTTP请求获取网页内容
    response = requests.get(url)
    if response.status_code != 200:
        print(f"Failed to retrieve the webpage. Status code: {response.status_code}")
        return

    # 使用正则表达式查找所有的图片URL
    image_urls = re.findall(r'<img[^>]+src=["\'](.*?)["\']', response.text)

    for img_url in image_urls:
        # 处理相对路径的URL
        if not img_url.startswith(('http://', 'https://')):
            img_url = os.path.join(url, img_url)

        # 下载图片
        img_response = requests.get(img_url)
        if img_response.status_code == 200:
            # 生成随机文件名
            random_filename = f"{random.randint(10000, 99999)}.jpg"
            save_path = os.path.join(save_folder, random_filename)

            # 保存图片
            with open(save_path, 'wb') as f:
                f.write(img_response.content)
            print(f"Downloaded and saved {img_url} as {save_path}")
        else:
            print(f"Failed to download {img_url}. Status code: {img_response.status_code}")

# 读取网址列表文件
def read_urls_from_file(file_path):
    with open(file_path, 'r') as file:
        urls = file.readlines()
    return [url.strip() for url in urls]

# 示例调用
if __name__ == "__main__":
    urls_file = 'f:\\代码\\urls.txt'  # 包含网址的文件路径
    save_folder = 'f:\\代码\\images'  # 保存图片的目录路径

    urls = read_urls_from_file(urls_file)
    for url in urls:
        download_images(url, save_folder)

使用说明

将上述的代码保存为 download_images.py 文件。

在运行脚本时,传入目标网页的 URL 和保存图片的目录路径。

脚本会自动下载网页中所有图片,并且以随机数命名保存到指定目录中。

打开的网址保存在一个文件,每行一个网址。

0

—— 评论区 ——

昵称
邮箱
网址
取消
站点公告

联系1:xitcz@vip.qq.com

联系2:xitcz155@gmail.com

有事可以联系邮箱,并注明来意~

人生倒计时
最新评论
舔狗日记