AutomatorでWEB上の画像を定期的に保存する

mac

WEB上にある、たまに更新される同じURLの画像をデータとして定期的にダウンロードしているのですが、人間なのでたまに忘れてしまうことがあるので、なんとか自動でできないかと色々探してみました。
スクレイピングやwindowsのソフトなら出てくるのですが、そこまで大仰な事ではないので、手軽な方法で何かないかなと探してみたのですが、検索の方法が悪いのかコレはイイといったものを探せませんでした。

■macOSには「Automator」があった

macOSには面倒くさい単純作業などを自動化させる「Automator」というアプリケーションが標準で入っています。
スクリプトを書けなくてもタスクを選んでドラッグして組み立てるだけで自動化の仕組みが作れるというたまに便利なアプリケーションです。
ここで作ったワークフローは、アプリケーションとして独立させることや、コンテクストメニュー(いわゆる右クリック)に入れる事などができます。

 

■目標:WEBの画像を日に1回自動ダウンロードさせる

今回は「WEBの固定URL画像を毎日1回、自動ダウンロードさせる」を目標に作成します。
サンプルとして”利根川水系ダム貯水量”のグラフをダウンロードさせます。

①対象URLをさがす
まずは対象のURLを探します。ソースファイルから気合で探してもいいですが、Chromeのデベロッパーツール( command + option + i )からサクッと探します。

 


②Automatorを起動
Automatorを起動し、[新規作成] → [アプリケーション]でワークフロー作成へ移ります。


③URLを取得させる
アクションの中の [インターネット] → [指定されたURLを取得] をドラッグして、対象のURLを入力する。


④ダウンロードさせる
同じくアクションの中の [インターネット] → [URLをダウンロード] をドラッグして、ダウンロード先を指定する。

これで指定した画像がダウンロードされます。
右上の”実行▶”を押してちゃんとダウンロードできるか試してみましょう。


⑤アプリケーション化させる
[保存]( command + S )で名前を付けて保存します。今回は「自動ダウンロードさん」と名付けました。

これでアプリケーションが実行されるとダウンロードされる環境ができました。まだこれでは「定期的に」実行させられる環境ではないので、macOSの”iCal”から実行させる準備をします。


⑥iCalにスケジュール登録して実行させる
任意の時間にスケジュールを設定して、[通知] → [カスタム] → [ファイルを開く] → [その他] → [先程作ったアプリケーション] を選びます。これで指定の時間にアプリケーションが実行され、完了です。

■AppleScriptを書けると広がる幅

スクリプトを書けなくても自動化ができる便利なアプリケーションですが、AppleScriptを書ければできる幅がグンと広がります(私自身書けないので偉そうに言えませんが..)。

  • コンテクストメニューからファイルを圧縮してそのファイルをFTPでサーバーに上げる
  • 大量の動画ファイルから音声ファイルを抜き出す
  • 一括して画像をリサイズ

などなど、繰り返す同じ作業はコンピューターにおまかせしましょう。