返回

用 Tinypng 批量压缩图片的利器

前端

批量压缩图片的终极指南:使用Tinypng API

简介

图片是任何网站或应用程序的重要组成部分。然而,较大的图片会减慢页面加载速度,影响用户体验。Tinypng 是一款强大的图片压缩工具,可以帮助您优化图片大小,同时保持其质量。本指南将为您提供分步指南,说明如何使用 Tinypng API 批量压缩图片。

注册 Tinypng API

第一步是注册 Tinypng 账户并获取 API 密钥。访问 Tinypng 网站,点击“注册”按钮创建一个新账户。注册后,前往“API”选项卡获取您的 API 密钥。

编写 Python 脚本

要批量压缩图片,我们将使用 Python 脚本。创建一个名为 tinypng_batch.py 的新文件,并粘贴以下代码:

import requests
import os

# 定义 Tinypng API 密钥
api_key = "YOUR_API_KEY"

# 定义要压缩的图片目录
input_dir = "input_dir"

# 定义压缩后的图片目录
output_dir = "output_dir"

# 创建一个 Tinypng API 请求会话
session = requests.Session()
session.headers = {"Authorization": "Basic {}".format(api_key)}

# 遍历要压缩的图片目录
for filename in os.listdir(input_dir):
    # 读取图片文件
    with open(os.path.join(input_dir, filename), "rb") as f:
        image_data = f.read()

    # 使用 Tinypng API 压缩图片
    response = session.post("https://api.tinypng.com/shrink", data=image_data)

    # 将压缩后的图片保存到输出目录
    with open(os.path.join(output_dir, filename), "wb") as f:
        f.write(response.content)

print("图片压缩完成!")

运行脚本

  1. 将您的 API 密钥替换为 api_key 变量。
  2. 将要压缩的图片放入 input_dir 目录中。
  3. 创建一个名为 output_dir 的目录来存储压缩后的图片。
  4. 运行脚本 python tinypng_batch.py

示例用法

以下是一个示例用法,其中要压缩的图片位于 images 目录中,压缩后的图片将保存到 compressed_images 目录中:

import requests
import os

# 定义 Tinypng API 密钥
api_key = "YOUR_API_KEY"

# 定义要压缩的图片目录
input_dir = "images"

# 定义压缩后的图片目录
output_dir = "compressed_images"

# 创建一个 Tinypng API 请求会话
session = requests.Session()
session.headers = {"Authorization": "Basic {}".format(api_key)}

# 遍历要压缩的图片目录
for filename in os.listdir(input_dir):
    # 读取图片文件
    with open(os.path.join(input_dir, filename), "rb") as f:
        image_data = f.read()

    # 使用 Tinypng API 压缩图片
    response = session.post("https://api.tinypng.com/shrink", data=image_data)

    # 将压缩后的图片保存到输出目录
    with open(os.path.join(output_dir, filename), "wb") as f:
        f.write(response.content)

print("图片压缩完成!")

结论

使用 Tinypng API 批量压缩图片是一种快速且有效的方法,可以优化您的图片并提高网站或应用程序的加载速度。通过遵循本指南,您将能够轻松地压缩多个图片,从而改善用户体验并提升网站性能。

常见问题解答

1. Tinypng 每月免费压缩多少张图片?

500 张图片

2. Tinypng 支持哪些图片格式?

PNG、JPEG 和 GIF

3. Tinypng 压缩图片的最大尺寸是多少?

5MB

4. 我可以在没有 API 密钥的情况下使用 Tinypng API 吗?

不行,API 密钥是必需的。

5. 是否有其他批量压缩图片的方法?

有多种在线工具和桌面应用程序可以实现批量压缩图片,但 Tinypng 是最流行和可靠的选择之一。