今回は自作アプリの紹介です
きっかけは複数URLの画像を一括ダウンロードする仕事の依頼でした
フリー素材サイトの検索結果ページ30件から、画像を集める作業で対象のURLはベースから少し変えるだけ
Excelでちょっと操作すればURLの準備は簡単なんですが、何せ1ページから10ファイル前後の画像を順次ダウンロードするのはなかなか骨の折れる作業・・・
そこで今後も使う機会があるだろうと自作してしまったアプリの名前はドストレートに「まとめて画像ダウンロード」です!
URLから対象となる画像を事前チェックして、対象を選んで一括ダウンロードする意外となかった仕様なので役に立つシーンがあれば是非ご利用ください
目次
「画像のURL一覧」でなく「ページのURL一覧」から集める
このアプリで入力するのは、画像ファイルのURLではなくページの URL です
「画像を一括ダウンロード」する拡張機能やWEBサービスは多くありますが、意外と複数のURLに対して一括してダウンロードするサービスは見つけられませんでした
特にWEBサービスは静的コンテンツならいいんですが動的な場合は対応できないこともしばしば・・
そこでこのアプリは、アプリ内のブラウザ(Microsoft Edge WebView2)でページを実際に開いて下まで自動でスクロールしてから、ページの中の画像を集める作りにしました
この仕様にして後述の無限スクロールを除けば今のところ目的の画像がダウンロードできないページには出会っていません
気をつけてほしいのは、ページ送り(2ページ目以降)やリンク先のページは対象外になっている点です
クエリパラメータにページ番号があればそこを変えて必要ページ分のURLを登録すれば疑似的に対応できます
もう一つ、痒いところに手が届く機能として貼り付けで登録できるようにしています
Excel で「URL」「保存先」の2列を作っておけば、コピーして「クリップボードから貼り付け」で一度に入れられます
URL が規則的なら、Excel で列を作ってまとめて貼るのが早いです
作ってよかったのは保存先のフォルダ分けと画像の形式変換
作ってみて役に立ったのは、URL ごとの保存先と、保存するときの形式の変換の2つでした
URLごとに保存先フォルダを分ける
「URL一覧」画面では、URL の1行ごとに保存先フォルダを決められます
30ページ分の画像を1つのフォルダに混ぜるとどの画像がどのページのものかあとから追いにくくなります
保存先を最初から分けておけば、ページ単位で分かれた状態のまま残ります
- 行ごとの保存先は、行の「…」からフォルダを選べる
- 既定の保存先を使う行は、そのフォルダに直接入る(ページごとのサブフォルダは作られない)
- 同じ名前のファイルがあっても上書きせず、name_2.jpg のように番号を付けて保存する
保存が終わったら、ファイルの一覧を CSV か Excel で書き出せます
元URL・保存先・サイズ・alt が並ぶので、画像の出どころを控えておくのに使えます
保存するときに画像の形式をそろえる
「共通条件」画面の「ダウンロード時拡張子」で、保存する形式を 無変換 / JPG / PNG / WebP から選べるようにしました
サイトが WebP で配信していても、手元では JPG や PNG にそろえて保存できます
既定は「無変換」で、選んだ形式は記憶するようにしているのでいつもPNGで保存したい人には便利
変換の仕様は次のとおりです
- JPG は透明な部分を持てないので、白で塗ってから保存する
- SVG と、AVIF のように変換できない形式は元の形式のまま保存し、結果のメッセージに理由を出す
- アニメーション GIF は最初のコマだけの静止画になる(動きを残すなら「無変換」のまま)
- JPG と WebP は品質90で保存する
- 変換先に GIF や BMP は選べない
変換できない画像が混ざっても、エラーにはせずそのままダウンロードする仕様にしています
迷ったら既定の無変換のまま使い、困ったときだけ形式を選べば足ります
📚 私のおすすめ本PR
ジャンルごとに私のおすすめからランダムで5冊を表示しています
複数URLの画像を一括ダウンロードする3ステップ
URL を入れて「チェック開始」を押し、事前確認で選んで保存する3ステップです
起動は、zip を解凍して BulkImageDownloader.exe を開くだけで、インストールは要りません
署名証明書を付けていないので、初回起動時は SmartScreen の警告が出ますがご了承を、、(「詳細情報」→「実行」で進めます)
STEP
URLと保存先を入れる
「URL一覧」画面で、画像を集めたいページの URL と保存先フォルダを1行ずつ入れます
URL ごとのフォルダに分けたいなら、行ごとに保存先を入れます
※最初は1〜2件で試すと、どんな画像が集まるかがつかめます
STEP
「チェック開始」を押す
アプリ内のブラウザが URL を1件ずつ開き、下まで自動でスクロールしてから画像を集めます
まだ保存はされません
STEP
事前確認で選んで保存する
「事前確認」画面で、URL ごとの件数(検出 / 一致 / 選択中)とサムネイルを見て、要らない画像を外します
「選択中の画像をダウンロード」を押すと、指定した保存先に保存されます
保存する前に選び直せるので、余計な画像まで保存してから消す手間がありません
サムネイルを右クリックすると「ここから後ろをすべて選択解除」が出ますので、ページ下のほうのバナーなどが後ろにまとまっていれば、まとめて外せます
アイコンのような小さい画像が混ざるときは、先に「共通条件」で幅の最小を決めておきます
ページの一部分だけに絞りたいなら、対象要素に CSS セレクタを入れる方法もあります(「ブラウザ」画面の「要素を選択」でクリックすると自動で入ります)
セレクタの書き方そのものは ページ内の場所を指定するCSSセレクタの書き方 にまとめています
画面ごとの細かい操作は、アプリ庫の まとめて画像ダウンロードの使い方 に載せていますので一度確認してみてください
向いていないケースと使う前の注意
このアプリが向くのは、何十ページ分もの URL をまとめて回したいときです
1ページだけ保存したいとき
取りたい画像が1ページにしかないなら、ブラウザの拡張機能など他にもツールがあります
対象が1ページしかない場合はお好みで使い分けを
スクロールで読み込みを足していくサイト
下へスクロールするたびに続きを読み込むサイト(無限スクロール)では、奥のほうの画像まで集めきれません
自動スクロールは、最大でも30秒で止まる作りにしています
ページの中の一部分だけがスクロールする作りのサイトも、スクロールで後から出てくる画像を取りこぼすことがあります
保存する前に、事前確認の件数とサムネイルで足りない画像がないかを見ておくと確実です
使う前に確認したい規約とサーバーの負荷
フリー素材サイトの画像でも、使える範囲はサイトごとの利用規約やライセンスで決まっています
まとめて落とす前に、商用利用やクレジット表記の条件を読んでおくのが無難です
また相手のサーバーへの負荷も考えて、ページの読み込みは1件ずつにしています
ダウンロードの同時接続は、全体で4・同じサイトへは2までなので件数が多いと少し待ちますが、そのぶん相手のサイトにかける負荷は小さく済みます
規約で自動取得を禁じているサイトには使わないでください
まとめ:ページのURLを並べて、画像は保存前に選ぶ
まとめて画像ダウンロードは、ページの URL を並べて、ページの中の画像をまとめて保存する無料の Windows アプリです
保存先を行ごとに指定すれば、URL ごとのフォルダに分かれます
保存するときの形式は JPG・PNG・WebP から選べます
AVIF や SVG は元の形式のまま残ります
- 検索結果や一覧のページが何十ページもあって、画像をまとめて集めたい
- 集めた画像を、ページごとのフォルダに分けて残したい
- WebP で配信されている画像を、JPG や PNG にそろえて保存したい
ダウンロードと動作環境は、アプリ庫のページにまとめています
アプリ庫
まとめて画像ダウンロード|複数URLの画像を一括ダウンロード | アプリ庫
複数のWebページのURLから、条件に合う画像だけを一括ダウンロードできる無料のWindowsアプリです。URLごとに保存先を指定でき、保存前にサムネイルで要らない画像を外せま...
ほかに作ってきた Windows アプリの話は、バイブコーディングで作ったWindowsアプリの実例4本 に書いています
📚 私のおすすめ本PR
ジャンルごとに私のおすすめからランダムで5冊を表示しています
コメント