-5

サーバー上で参照されていないすべての画像を見つける方法 (おそらく perl) が必要です。私は自分の Web サイトで画像/アイコンの統合を行っていますが、手動で 1 つずつ選別するには多すぎます。参照されなくなった画像のリストまたは URL の配列を出力して、それらを削除できるようにするには、このクエリが必要です。

考え?

4

2 に答える 2

1

静的 Web サイトの場合、HTML::TokeParser::SimpleをFile::Findと組み合わせて使用​​して、コンテンツ ファイル内のすべてのタグのsrc属性を抽出できます。( を参照)を<img>使用してすべてのコンテンツをコピーすると、作業が楽になります。さらに、おそらくCSS::DOMを使用してファイルを解析したいと思うでしょう。wgetmirrorman wget.css

次に、すべての画像ファイルのソースをクロールし、ファイル システム内のパスを Web サイトの URL にマッピングします。前のプロセスで取得した画像 URL のリストに含まれていないものを確認します。perlfaq4が役に立つかもしれません。

于 2013-07-25T21:15:32.560 に答える
0

私がすることは、すべての画像のリストを作成することです。すべてのドキュメントを解析して画像を取得します。リストを比較します。

簡単にするために、すべての画像には一意の名前が付けられており、パスは必要ないと仮定しています。また、すべてのコードが使用されていると想定しています。

Bash の場合 (多くの微調整が必​​要であり、テストされていません)

cd into image directory
find path_to_image_directory -name "*.jpg" | grep -o "\b\w*\.jpg" | sort -u > all_pics.txt
# do simular for gif and png


grep -rio "\b\w*\.gif\|.png|.gif\b" path_to_source | sort -u > used_pics.txt
grep -Fxv -f all_pics.txt used_pics.txt > unused_images.txt

while read line
do
    find . -name $line -exec rm -rf {} \;
done < unused_images.txt
于 2013-07-25T21:32:43.497 に答える