Wget ディレクトリ オプション

Wget ディレクトリ オプション

Wget のマニュアルを読みましたが、残念ながら私の問題は解決されていないようです。どなたか少しでも助けていただければ幸いです。

たとえば、website.com という Web サイトがあり、それがたとえば website.com/1/、website.com/2/ などに直接リンクしているとします。

現在、各ページ website.com/r/ (r は整数) は、多数の PDF ドキュメントにリンクしています。これらのドキュメントは、website.com/r/doc-i.pdf にあるのが便利ですが、すべて website.com/files/doc-i.pdf にあります。

したがって、コマンドを実行するとwget -r -l 2 -A pdf website.com、当然のことながら、「files」という名前の大きなフォルダーが作成され、その中にすべての PDF ドキュメントが含まれます。

ただし、ダウンロード元のページに対応する 1、2、...、n という名前の異なるフォルダーに整理される方がはるかに望ましいです。合計で約 10,000 個の PDF ファイルをダウンロードすることになるため、これを手動で行うのは避けたいです。

では、Web サイトのディレクトリ構造ではなく、ファイルに到達するまでのルートに基づいてファイルを整理するように Wget に指示するにはどうすればよいでしょうか?

私の説明が明確であり、これを実現するのがそれほど難しくないことを願っています。

答え1

(未テスト) 以下は若干の調整が必要ですが、単なる一般的なアイデアです。

### get level1
wget -r -l  website.com/      

#### for each html file otained,
for a in $(find website.com -name '*.html' )
do 
  ### get level 2 but prefix it with the base name
  b=$(basename $a)
  wget -P $b -r -l 1 -A pdf http://$a 
done
  • おそらく発見には多少の調整が必要になるだろう
  • mv $b/website.com/files FINAL/$bレベルを下げるために何かを追加するかもしれません

関連情報