wget は、dxf ファイルを再帰的にダウンロードするために使用されます。

wget は、dxf ファイルを再帰的にダウンロードするために使用されます。

多くのdxfタイプファイルを持つWebサーバーがあり、一度に1つだけダウンロードできます。私の考えでは、wgetを使ってこれらすべてのファイルを同時にダウンロードするのが良い考えだと思います。残念ながら、wgetを使用してこれを正常に実行することはできません。

私のコードは次のとおりです

wget -r -A.dxf www.site.com/example/download

このコードは次のエラーを生成します。

HTTP request sent, awaiting response... 403 Forbidden
Remote file does not exist -- broken link!!!

正しいファイル名でURLを指定した場合

wget -O www.site.com/example/download/filename.dxf

ファイルのダウンロードが成功しました。

成功した再帰的なdxfファイル形式をダウンロードするためのコードはどのように見えるべきですか?

答え1

これは、Webサーバーがディレクトリ内のディレクトリのリストを禁止するために発生する可能性があります403 forbidden(したがってファイルのリストを生成しません)。ダウンロードしたいファイルのリストがわかっている場合は、簡単なテキストファイルを作成してwgetダウンロードリストを教えてください。

例:

$ cat list.txt 
file1.dxf
file2.dxf
fileA.dxf

$ wget --base http://www.site.com/example/download --input-file list.txt

ダウンロードするURL:

答え2

*ファイル名がわかって順番になっており、Webサーバーを使用するとシングルセッションでダウンロードできるため、*シェル拡張でこれを実現できます。

例のファイル名がfile1.dxf、file2.dxf...file5.dxfであるとします。

次のようにファイルをダウンロードできます。

wget -r -np -nd http://www.site.com/example/download/file{1..5}.dxf

ダウンロードされたファイルは次のとおりです。

  • ファイル1.dxf
  • ファイル2.dxf
  • ファイル3.dxf
  • ファイル4.dxf
  • ファイル5.dxf

同様に、ファイルが filea.dxf の場合、 fileb.dxf....filef.dxf

wget -r -np -nd http://www.site.com/example/download/file{a..f}.dxf

ダウンロードされたファイルは次のとおりです。

  • ファイルa.dxf
  • ファイルb.dxf
  • ファイルc.dxf
  • アーカイブ.dxf
  • ファイルe.dxf
  • ファイルf.dxf

-r:再帰的、-np:親なし、-nd:ディレクトリなし。つまり、ファイルはダウンロードされますが、ディレクトリ階層はダウンロードされません。

関連情報