如何使用 AppleScript 和 HTML DOM 下載圖片?

AppleScript 是 macOS 內建的強大腳本語言,可讓使用者自動執行跨應用程式的各種任務。當與 HTML DOM 結合時,它成為自動化與網頁互動的有用工具。例如,AppleScript 可用於開啟 Web 瀏覽器(如 Safari),HTML DOM 可協助從網頁中擷取圖片 URL,讓您自動執行下載程序。

大量下載圖像的功能非常有用,無論您是為了研究、存檔而收集圖像,還是僅僅為專案收集資產。在本指南中,我們將介紹使用 AppleScript 和 HTML DOM 自動從網頁下載圖片的步驟。此外,我們將討論如何使用 AppleScript 尋找重複的圖像並刪除較小的圖像,從而節省您的時間和空間。

1.如何使用AppleScript和HTML DOM下載圖片?

使用 AppleScript 從網頁下載圖像涉及幾個步驟:

步驟 1:在 Safari 中開啟網頁

首先,您需要開啟 Safari 並導覽至目標網頁。這是使用 AppleScript 完成的,它可以與 Safari 互動並控制其操作。

在 Safari 中開啟網頁

在此程式碼片段中:

  • activate :如果 Safari 尚未打開,則將其置於前台。
  • open location :在 Safari 中開啟指定的 URL。
  • delay 5 :等待5秒鐘以確保頁面已完全加載,然後再繼續下一步。

步驟 2:使用 HTML DOM 擷取圖片 URL

網頁載入後,我們可以使用 JavaScript 從 HTML DOM 中提取圖像 URL。這 document.images 對象提供對所有 <img> 頁面上的元素,我們可以提取它們的 src 屬性,其中包含圖像的 URL。

使用 html dom 提取圖像 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 是一個用於與伺服器傳輸資料的命令列工具,非常適合下載映像等檔案。

AppleScript 下載圖片

在這個部分:

  • mkdir -p :如果不存在,則在桌面上建立一個名為「已下載的映像」的資料夾。
  • curl -O :下載每張圖片並將其儲存到指定資料夾。

步驟 5:(可選)尋找重複圖像並刪除小圖像

如果您想透過刪除重複項或刪除較小的影像來清理下載的影像,AppleScript 可以提供協助。若要尋找重複的圖像,您可以比較下載後圖像的檔案大小或雜湊值。對於小圖像,您可以檢查圖像的尺寸並刪除低於特定閾值的任何圖像。

刪除特定尺寸以下影像的方法如下:

applescript 刪除特定尺寸的圖像

此腳本:

  • 掃描「已下載的影像」資料夾中的所有檔案。
  • 檢查檔案大小是否小於指定的閾值(例如 100KB)。
  • 刪除所有小於該尺寸的影像。

對於重複的圖像,您需要一個更複雜的腳本來比較圖像的雜湊值(例如,MD5 或 SHA)以識別重複項。

2. 使用 AppleScript 和 HTML DOM 下載圖片的優缺點

優點 缺點
  • 自動化 :設定完成後,腳本會自動下載圖像,節省您的時間和精力。
  • 可自訂性 :您可以輕鬆修改腳本以從特定類型的網站下載圖像、過濾掉某些圖像或刪除重複項。
  • 無需第三方工具 :AppleScript 和 JavaScript 內建於 macOS,因此您無需安裝額外的軟體或瀏覽器擴充功能。
  • 有限的錯誤處理 :如果圖像 URL 有錯誤或頁面佈局發生意外變化,腳本可能會失敗。
  • Safari 專屬 :此方法適用於 Safari,因此如果需要,您需要調整腳本以適應其他瀏覽器(例如​​ Google Chrome)。
  • 學習曲線 :對於不熟悉程式設計的人來說,編寫和調試 AppleScript 和 JavaScript 可能具有挑戰性。

3. 最佳批次圖片下載器 Mac : Imaget

雖然 AppleScript 和 HTML DOM 是強大的工具,但對於需要下載大量圖片或需要更用戶友好方法的用戶來說,它們可能不是最有效的選擇。 Imaget 是 macOS 的絕佳解決方案, Windows 需要批量下載圖片的使用者。

要下載圖像 Mac 使用 Imaget ,該過程簡單且用戶友好。

步驟 1:點擊下面的下載按鈕下載 macOS 版本並安裝,然後打開 Imaget 從您的應用程式資料夾中。

步驟 2:導航至要從中下載圖片的網頁(網頁、Instagram、Pinterest 等),然後點擊「自動捲動」按鈕讓 Imaget 自動從頁面提取可用圖像。

mac 自動捲動載入影像

步驟 3:選擇首選的影像解析度和格式,然後設定其他下載選項,例如影像的輸出類型和目標資料夾。

mac 自動捲動載入影像

第 4 步:點擊 保存全部 按鈕開始取得影像,然後 Imaget 將下載您電腦上的選定圖片 Mac 幾秒鐘之內。

mac 用 imaget 儲存所有映像

4。結論

使用 AppleScript 和 HTML DOM 從網頁下載圖片是一種強大且可自訂的自動化解決方案。它提供對圖像下載的控制並提供刪除重複或小圖像的功能,使其成為更多技術用戶的有用工具。但是,它需要一些腳本知識,並且可能不是最有效的大量圖像下載方式。

對於尋求更簡單、更精簡解決方案的 macOS 用戶來說, Imaget 是強烈推薦的替代方案。它提供了用戶友好的介面和強大的功能,無需腳本即可批量下載圖像。無論您是在進行專案工作還是僅收集供個人使用的圖像, Imaget 對於 macOS 用戶來說是一款出色的工具。