コマンドラインを使用して、ファイルサーバーに関連する特定のURLから指定された形式のすべてのファイルをダウンロードする方法

コマンドラインを使用して、ファイルサーバーに関連する特定のURLから指定された形式のすべてのファイルをダウンロードする方法

example.com/folder1のようなURLがあるとしましょう。 ChromeやFirefoxなどのブラウザを使用してアクセスするとき、URLは私たちに慣れているウェブサイトではなく、ダウンロードするファイルを含むページです(HTTPのファイルサーバーと言いたいのですが、コンピュータネットワークについてはまったくわかりません)。それでは、さまざまな形式のファイルが何千ものあると想像してください。一部はPNG、一部はJPG、一部はMP4、一部はTXTなどです。

そこにあるすべてのPNG画像をダウンロードしたいとしましょう。使用することもできますが、wget example.com/folder1/name-of-image-1.png ; wget example.com/folder1/name-of-image-2.png ; [...] wget example.com/folder1/name-of-image-n.png画像名はパターンに従わないため、プロセスが長く、これらのタスクを自動化すると本当に楽しいでしょう。私はこのようなコマンドを探していますwget --download-all-from-format=png example.com/folder1。 --download-all-from-format=png オプションは存在しませんが、アイデアを示すために思い出しました。解決策はwget、カール、または他のコマンドラインプログラムです。

インターネットで検索してみると、wget -nd -r -l 2 -accept-regex '.png' example.com/folder1いくつかのコマンドが動作wget -nd -r -l 2 -A.png example.com/folder1しません。以下のように奇妙なファイルがダウンロードされています。 ここに画像の説明を入力してください。

私の考えでは、私が見た2つのコマンドはWebサイトのコンテンツをダウンロードするのに役立ちますが、私の場合、必要なURLは私たちが理解しているWebサイトではなく、インターネット上のファイルサーバーです(ブラウザで行ったように)。 、 file:///home/user と入力したときに得られるものと似たリストがあります。これはサーバーがFTPではなくHTTPであるようです。

ありがとうございます。

ありがとう、

[更新]解決策を見つけました。私が期待していたわけではありませんが、うまくいきます。追加オプションなしでwgetを使用してexample.com/folder1をダウンロードし、ダウンロードしたファイルをフィルタリングしてすべての画像パスを取得できます。次に、取得した各パスを個別にダウンロードするようにコンピュータに指示するシェルスクリプトを作成します。すべての画像パスのリストを介してforループを使用できます。

関連情報