AppleScript 是 macOS 内置的一种功能强大的脚本语言,可让用户自动执行各种应用程序任务。与 HTML DOM 结合使用时,它将成为自动执行网页交互的有用工具。例如,AppleScript 可用于打开 Web 浏览器(如 Safari),而 HTML DOM 可帮助从网页中提取图像 URL,从而让您自动执行下载过程。
批量下载图像的功能非常有用,无论您是收集图像用于研究、存档还是仅仅为项目收集资产。在本指南中,我们将逐步介绍如何使用 AppleScript 和 HTML DOM 自动从网页下载图像。此外,我们将讨论如何使用 AppleScript 查找重复图像并删除较小的图像,从而节省您的时间和空间。
1.如何使用AppleScript和HTML DOM下载图像?
使用 AppleScript 从网页下载图像涉及几个步骤:
步骤 1:在 Safari 中打开网页
首先,您需要打开 Safari 并导航到目标网页。这是使用 AppleScript 完成的,它可以与 Safari 交互并控制其操作。
在此代码片段中:
activate
:如果 Safari 尚未打开,则将其置于前台。open location
:在 Safari 中打开指定的 URL。delay 5
:等待5秒钟以确保页面已完全加载,然后再继续下一步。
步骤 2:使用 HTML DOM 提取图像 URL
网页加载完成后,我们可以使用 JavaScript 从 HTML DOM 中提取图像 URL。
document.images
对象提供对所有
<img>
页面上的元素,我们可以提取它们的
src
属性,其中包含图像的 URL。
这里:
document.images
:收集所有<img>
来自页面的元素。.map(img => img.src)
:将每幅图像映射到其src
属性(URL)。do JavaScript
:在 Safari 的当前选项卡中执行 JavaScript 代码。
结果将是一个包含所有图像 URL 的字符串,以逗号分隔。
步骤 3:处理图片 URL
JavaScript 返回的图像 URL 将以单个字符串的形式显示,我们可以使用 AppleScript 的
paragraphs
命令。
将 imageUrlsList 设置为 imageUrls 段落
这会将字符串拆分为单独的 URL 列表,从而更容易单独处理每个图像 URL。
步骤 4:下载图像
现在我们有了图片 URL 列表,我们可以使用
curl
命令下载每个图像。
curl
是一个用于与服务器传输数据的命令行工具,非常适合下载图像等文件。
在这个部分:
mkdir -p
:如果不存在,则在桌面上创建一个名为“已下载的图像”的文件夹。curl -O
:下载每张图片并将其保存到指定文件夹。
步骤 5:(可选)查找重复图像并删除小图像
如果您想通过移除重复项或删除较小的图片来清理下载的图片,AppleScript 可以提供帮助。要查找重复的图片,您可以在下载后比较图片的文件大小或哈希值。对于小图片,您可以检查图片的尺寸并删除任何低于特定阈值的图片。
删除特定尺寸以下图像的方法如下:
此脚本:
- 扫描“已下载的图像”文件夹中的所有文件。
- 检查文件大小是否小于指定的阈值(例如 100KB)。
- 删除所有小于该尺寸的图像。
对于重复的图像,您需要一个更复杂的脚本来比较图像的哈希值(例如,MD5 或 SHA)以识别重复项。
2. 使用 AppleScript 和 HTML DOM 下载图像的利与弊
优点 | 缺点 |
|
|
3. 最佳批量图片下载器 Mac : Imaget
虽然 AppleScript 和 HTML DOM 是强大的工具,但对于需要下载大量图像或需要更用户友好方法的用户来说,它们可能不是最有效的选择。 Imaget 是 macOS 的绝佳解决方案, Windows 需要批量下载图片的用户。
要下载图像 Mac 使用 Imaget ,该过程简单且用户友好。
步骤 1:点击下面的下载按钮下载 macOS 版本并安装,然后打开 Imaget 从您的应用程序文件夹中。
第 2 步:导航到要从中下载图片的网页(网页、Instagram、Pinterest 等),然后单击“自动滚动”按钮让 Imaget 自动从页面提取可用图像。
步骤 3:选择首选的图像分辨率和格式,然后设置其他下载选项,例如图像的输出类型和目标文件夹。
步骤 4:点击 保存全部 按钮开始获取图像,然后 Imaget 将下载您电脑上的选定图片 Mac 几秒钟之内。
4。结论
使用 AppleScript 和 HTML DOM 从网页下载图片是一种功能强大、可自定义的自动化下载过程解决方案。它可控制图片下载,并可删除重复或小图片,使其成为技术含量更高的用户的有用工具。但是,它需要一些脚本知识,并且可能不是批量图片下载最有效的方法。
对于寻求更简单、更精简解决方案的 macOS 用户来说, Imaget 是强烈推荐的替代方案。它提供了用户友好的界面和强大的功能,无需编写脚本即可批量下载图像。无论您是在处理项目还是只是收集用于个人用途的图像, Imaget 对于 macOS 用户来说是一款出色的工具。