PR
私が使っているPCガジェット類
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
今回は自作アプリの紹介です
きっかけは複数URLの画像を一括ダウンロードする仕事の依頼でした
フリー素材サイトの検索結果ページ30件から、画像を集める作業で対象のURLはベースから少し変えるだけ
Excelでちょっと操作すればURLの準備は簡単なんですが、何せ1ページから10ファイル前後の画像を順次ダウンロードするのはなかなか骨の折れる作業・・・
そこで今後も使う機会があるだろうと自作してしまったアプリの名前はドストレートに「まとめて画像ダウンロード」です!
URLから対象となる画像を事前チェックして、対象を選んで一括ダウンロードする意外となかった仕様なので役に立つシーンがあれば是非ご利用ください
このアプリで入力するのは、画像ファイルのURLではなくページの URL です
「画像を一括ダウンロード」する拡張機能やWEBサービスは多くありますが、意外と複数のURLに対して一括してダウンロードするサービスは見つけられませんでした
特にWEBサービスは静的コンテンツならいいんですが動的な場合は対応できないこともしばしば・・
そこでこのアプリは、アプリ内のブラウザ(Microsoft Edge WebView2)でページを実際に開いて下まで自動でスクロールしてから、ページの中の画像を集める作りにしました
この仕様にして後述の無限スクロールを除けば今のところ目的の画像がダウンロードできないページには出会っていません
気をつけてほしいのは、ページ送り(2ページ目以降)やリンク先のページは対象外になっている点です
クエリパラメータにページ番号があればそこを変えて必要ページ分のURLを登録すれば疑似的に対応できます
もう一つ、痒いところに手が届く機能として貼り付けで登録できるようにしています
Excel で「URL」「保存先」の2列を作っておけば、コピーして「クリップボードから貼り付け」で一度に入れられます

ジャベ雄URL が規則的なら、Excel で列を作ってまとめて貼るのが早いです
作ってみて役に立ったのは、URL ごとの保存先と、保存するときの形式の変換の2つでした
「URL一覧」画面では、URL の1行ごとに保存先フォルダを決められます
30ページ分の画像を1つのフォルダに混ぜるとどの画像がどのページのものかあとから追いにくくなります
保存先を最初から分けておけば、ページ単位で分かれた状態のまま残ります
保存が終わったら、ファイルの一覧を CSV か Excel で書き出せます
元URL・保存先・サイズ・alt が並ぶので、画像の出どころを控えておくのに使えます
「共通条件」画面の「ダウンロード時拡張子」で、保存する形式を 無変換 / JPG / PNG / WebP から選べるようにしました
サイトが WebP で配信していても、手元では JPG や PNG にそろえて保存できます
既定は「無変換」で、選んだ形式は記憶するようにしているのでいつもPNGで保存したい人には便利
変換の仕様は次のとおりです
変換できない画像が混ざっても、エラーにはせずそのままダウンロードする仕様にしています





迷ったら既定の無変換のまま使い、困ったときだけ形式を選べば足ります
URL を入れて「チェック開始」を押し、事前確認で選んで保存する3ステップです
起動は、zip を解凍して BulkImageDownloader.exe を開くだけで、インストールは要りません
署名証明書を付けていないので、初回起動時は SmartScreen の警告が出ますがご了承を、、(「詳細情報」→「実行」で進めます)
「URL一覧」画面で、画像を集めたいページの URL と保存先フォルダを1行ずつ入れます
URL ごとのフォルダに分けたいなら、行ごとに保存先を入れます
※最初は1〜2件で試すと、どんな画像が集まるかがつかめます
アプリ内のブラウザが URL を1件ずつ開き、下まで自動でスクロールしてから画像を集めます
まだ保存はされません
「事前確認」画面で、URL ごとの件数(検出 / 一致 / 選択中)とサムネイルを見て、要らない画像を外します
「選択中の画像をダウンロード」を押すと、指定した保存先に保存されます


保存する前に選び直せるので、余計な画像まで保存してから消す手間がありません
サムネイルを右クリックすると「ここから後ろをすべて選択解除」が出ますので、ページ下のほうのバナーなどが後ろにまとまっていれば、まとめて外せます
アイコンのような小さい画像が混ざるときは、先に「共通条件」で幅の最小を決めておきます
ページの一部分だけに絞りたいなら、対象要素に CSS セレクタを入れる方法もあります(「ブラウザ」画面の「要素を選択」でクリックすると自動で入ります)
セレクタの書き方そのものは ページ内の場所を指定するCSSセレクタの書き方 にまとめています
画面ごとの細かい操作は、アプリ庫の まとめて画像ダウンロードの使い方 に載せていますので一度確認してみてください
このアプリが向くのは、何十ページ分もの URL をまとめて回したいときです
取りたい画像が1ページにしかないなら、ブラウザの拡張機能など他にもツールがあります
対象が1ページしかない場合はお好みで使い分けを
下へスクロールするたびに続きを読み込むサイト(無限スクロール)では、奥のほうの画像まで集めきれません
自動スクロールは、最大でも30秒で止まる作りにしています
ページの中の一部分だけがスクロールする作りのサイトも、スクロールで後から出てくる画像を取りこぼすことがあります
保存する前に、事前確認の件数とサムネイルで足りない画像がないかを見ておくと確実です
フリー素材サイトの画像でも、使える範囲はサイトごとの利用規約やライセンスで決まっています
まとめて落とす前に、商用利用やクレジット表記の条件を読んでおくのが無難です
また相手のサーバーへの負荷も考えて、ページの読み込みは1件ずつにしています
ダウンロードの同時接続は、全体で4・同じサイトへは2までなので件数が多いと少し待ちますが、そのぶん相手のサイトにかける負荷は小さく済みます



規約で自動取得を禁じているサイトには使わないでください
まとめて画像ダウンロードは、ページの URL を並べて、ページの中の画像をまとめて保存する無料の Windows アプリです
保存先を行ごとに指定すれば、URL ごとのフォルダに分かれます
保存するときの形式は JPG・PNG・WebP から選べます
AVIF や SVG は元の形式のまま残ります
ダウンロードと動作環境は、アプリ庫のページにまとめています


ほかに作ってきた Windows アプリの話は、バイブコーディングで作ったWindowsアプリの実例4本 に書いています
PythonとExcelを中心に仕事に役立つ業務ツールや自動化、スクレイピングツールの作成を受注していて、クラウドワークスでは気が付けば100件以上のお仕事を受注してきました!
会社員をやりながらの副業なので時間の捻出は相応ですが、クライアントの方々と近い立場でこちらからも提案しながら活動していますのでお悩みあれば是非ご相談ください
VBAとPythonを中心にユーザー側でできるITを自己学習しているので備忘録半分、学習履歴を残して同じ道を辿る人の参考になればとブログを始めました
副業でスクレイピングツール作成を中心にできることを色々やっていますのでご相談いただけるとありがたいです!
クラウドワークスのページへ
ココナラのページへ
コメント