画像保存サイトを使ってページから画像をまとめて取得する際、サムネイルばかりが集まる、空白や重複ファイルが混ざる、といった問題に遭遇することがあります。本記事は「画像保存サイト」での実務的なトラブルシュートを、原因の見つけ方から最小限の修正手順まで段階的に解説します。 この手順ではImage Downloader Proを使用します。
現場でよく見る症状と実例
ECカテゴリを一括で取得したら120件すべてが150x150のサムネイルだった、あるいは似た画像が複数混ざる、画像の枠だけ残って実ファイルがない、といったケースが典型です。カタログ作成やビジュアルQAではフルサイズが必要で、手作業は現実的ではありません。
よくある原因と挙動のチェックポイント
- srcset / picture によるレスポンシブ配信 - imgのsrcだけに小さい候補が入っており、srcsetや<picture>に大きな候補が並ぶ。単純にsrcを取得するとサムネイルしか得られません。参考: MDN - Responsive images
- 遅延読み込みやdata-srcパターン - 実URLをdata-src等に格納し、ビューポートで差し替える実装。静的HTMLのみ走査すると本来のURLが見えません。参考: MDN - Lazy loading
- 詳細ページでのみフルサイズを読み込む - リストはサムネイルだけ、詳細を開いて初めてマスターが取得される場合。ツールは詳細ページを辿るかURLパターンを再現する必要があります。
- CSSのbackground-imageで配置されている - img要素以外に背景画像があり、DOMのimgだけを拾うと見落とします。
- 無限スクロールやページネーション - 初期DOMだけでは多数が未読み込み。スクロール動作をシミュレートする必要があります。
- サイズ違いの複製が大量に存在する - 同一アセットの複数サイズが混ざり、重複が増える。
最初に試す短いチェックリスト
- ブラウザのDevToolsでネットワークタブ(Network)を開き、画像フィルター(Images)でページをリロード。大きな画像リクエストがあるか確認する。参考: Chrome DevTools - Network
- 要素パネル(Elements)で対象のimg要素を調べ、srcsetやdata-srcがあるか確認する。
- ページをスクロールまたはクリックして遅延読み込みを発動し、その後に再スキャンする。
- サムネイルが詳細ページへリンクしている場合はリンクを抽出して個別スキャンを準備する。
- 計算済みスタイル(computed style)でbackground-imageの有無を確認する。
問題別の具体的な修正法
- 問題:imgのsrcだけを取得してしまう
- 対処:srcsetや<picture>の候補を優先取得する。ツールに「最大候補を選ぶ」設定があれば有効にする。手動ではsrcset属性から最大URLを抽出してテストする。
- 問題:プレースホルダーや空白が多い
- 対処:遅延読み込みをトリガーしてから走査する。自動スクロールや「読み込み待ち」オプションのあるツールを使う。
- 問題:フルサイズは詳細ページだけにある
- 対処:リストからリンクを抽出し、Mass Scanで各詳細ページを順に開いて画像を取得する。
- 問題:CSS背景画像が取得できない
- 対処:計算済みスタイルを解析するか、レンダリング時のネットワークキャプチャで背景画像のリクエストを記録するモードを使う。
- 問題:同一アセットの複数サイズでファイルが乱雑
- 対処:ピクセル面積や長辺でフィルタを適用、または重複除去機能で代表ファイルのみ残す。
モードの選び方 - 目的別
- サムネイル確認 - DOMのimg srcを素早くスキャン。存在確認やファイル名チェック向け。
- フル品質取得 - srcsetや詳細ページを辿る。高解像度マスターが必要な場合に使用。
- レンダリングキャプチャ - スクロールやJS挿入、CSS背景を確実に拾う際に有効。
- 大量リンクスキャン - CSV等のページ一覧を順に開いて取得する、カタログ向け。
実践的なワンポイント手順リスト
- ネットワークタブを開き、画像フィルターを適用、ページをリロード。
- UI操作で大きな画像を発生させ、ネットワーク上のURLを確認。
- srcsetがあれば最大候補を取得、無ければ詳細ページのURLを抽出して各ページをスキャン。
- 背景画像は計算済みスタイルまたはネットワークキャプチャで確実に拾う。
- 重複はピクセル面積や類似度でフィルタリングして代表ファイルを残す。
実例 - ステップバイステップ
例A - カテゴリページで遅延サムネイルと詳細マスターが分かれるケース
- カテゴリページを開き、DevToolsのネットワークタブで画像フィルターを有効にする。
- 商品をクリックして詳細を開き、どのURLがマスターを取得しているかを確認する。
- マスターが詳細ページでのみ読み込まれる場合は、商品リンクを抽出してMass Scanで各ページを順に開く。
- ツールの設定でsrcsetの最大候補を選ぶか、ネットワークキャプチャで取得する。
例B - 無限スクロールかつCSS背景で画像が入るギャラリー
- ページを最後までスクロールするか、"もっと読み込む(Load more)"をすべて押して全アイテムを読み込む。
- 要素パネルの計算済みスタイルでbackground-imageのURLを確認する。
- レンダリングキャプチャモードやネットワーク記録を使って背景画像も含めて取得する。
現場メモ:srcsetやpicture要素はブラウザが最適候補を選んでリクエストします。プログラムでimgのraw srcだけを取得すると通常は最小候補になるため、srcset属性の最大候補を読むか、実際のネットワークリクエストを観察してフルサイズのURLを特定してください。参考: MDNの解説
実務上の限界と著作権注意
署名付きURLや認証済みAPIでのみアクセス可能な画像、スクレイピング対策を施したサイトは取得できない場合があります。そうしたケースでは正当なAPIアクセスやサイト運営者の許諾が必要です。また、取得した画像が自動的に再利用可能になるわけではない点に注意してください。
Image Downloader Proは遅延読み込み対応の深いページスキャン、サイズフィルタ、タブやリンクの一括スキャン、重複除去など実務向けの機能を備えています。まずは日本語ページで機能を確認してみてください:
Image Downloader Pro を試す(日本語ページ)
詳しい設定やスキャンモードは公式ドキュメントを参照してください:
Image Downloader Pro ドキュメント(日本語)
参考資料:MDNのレスポンシブ画像と遅延読み込みの解説、Chrome DevToolsのネットワークドキュメントを参照しました。
参考リンク: MDN - Responsive images、 MDN - Lazy loading、 Chrome DevTools - Network