上書きしないようにWebページのリストをファイルにダウンロードして名前を変更しますか?

上書きしないようにWebページのリストをファイルにダウンロードして名前を変更しますか?
$ wget -r -np  -nH --cut-dirs=2 -p -k "http://www.example.com/1" -O test.html
Cannot specify both -k and -O if multiple URLs are given, or in combination
with -p or -r. See the manual for details.

Usage: wget [OPTION]... [URL]...

この問題を解決する方法を知りたいです。

実際の問題では、リストURLを次のテキストファイルに保存します。

http://www.example.com/1
http://www.example.com/2
http://www.example.com/3

ウェブページを置き換えるために必要なファイルとともに各ウェブページをダウンロードしたいと思います。

デフォルトでは、ダウンロードした各ファイルには、以前index.htmlにダウンロードしたWebページを上書きするように名前が付けられています。そのため、ダウンロードしたファイルの名前をダウンロード順序を示す数字に変更しようとしました。

i=0
for url in $(cat ../htmls); 
do  
wget -r -np  -nH --cut-dirs=1 -p -k "$url" -O $(printf %04d $i).html; 
i=$((i+1))
done

この時点で初期エラーが発生しました。

答え1

index.htmlWebページのさまざまなリンクがこのファイルに依存しているため、このファイルが必要です。各Webページを独自のディレクトリに保存します。

while read url; do
    mkdir "$url";
    cd "$url"
    wget -r -np  -nH --cut-dirs=1 -p -k "$url"
    cd ../
done

wgetこれは既にデフォルトで行われているため、次を使用してください。スティーブンの方法代わりに。

答え2

wgetwithのデフォルトの動作は、-rダウンロードしたファイルをURLと一致するディレクトリに保存することですので、次のようにできます。

wget -r -np -p -i myurls

myurlsダウンロードするURLを含むファイルはどこにありますか?)

結果として生成された大容量ディレクトリは最も満足のいくものではありませんが、ダウンロードしたファイルを表示するために必要なものをすべて上書きすることはありません。

関連情報