ファイルサーバーからファイルのリストをダウンロードする方法


10

このようなhttp://www.apache.org/dist/httpd/binaries/のようなファイルサーバーからファイルのリストをダウンロードするにはどうすればよいですか?

私はwgetを使用できると思いますが、すべてのリンクとhtmlファイルも取得しようとします。これを達成するためのより良いツールはありますか?


ちょうどあなたの質問を明確にするために:あなたは(まだ)ファイル自体ではなく、サーバーからダウンロードできるファイルのリストが欲しいだけですか?
akira

`wget --no-verbose --spider --no-directories --recursive --level = 2 apache.org /dist/httpd/binaries`のようなコマンドがどのように 機能しないのですか?より具体的になると役立つかもしれません
DaveParillo 2009

回答:


12

wgetページのクロール時にダウンロードするファイル拡張子を指定できます。

wget -r -A zip,rpm,tar.gz www.site.com/startpage.html

これは、と再帰検索し、ダウンロードのみのファイルを実行します.zip.rpm.tar.gz拡張。


8

(まだ)それらをフェッチせずにサーバー上のファイルのリストが本当に必要だと仮定します:

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/ 2>&1 | awk -f filter.awk | uniq

一方、「filter.awk」は次のようになります

/^--.*-- http:\ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^長さ:[[:数字:]] + / {印刷u; }

次に、おそらくいくつかのエントリを除外する必要があります

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D"

0

参照:http : //blog.incognitech.in/download-files-from-apache-server-listing-directory/

次のコマンドを使用できます。

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>

各オプションの説明

  • wget:CURLリクエストを作成し、リモートファイルをローカルマシンにダウンロードする簡単なコマンド。
  • --execute="robots = off":これにより、ページのクロール中にrobots.txtファイルが無視されます。すべてのファイルを取得していない場合に役立ちます。
  • --mirror:このオプションは基本的に、指定されたURLのディレクトリ構造をミラーリングします。それはそのためのショートカットです-N -r -l inf --no-remove-listing
    • -N:ローカルより新しくない限り、ファイルを再取得しません
    • -r:再帰的なダウンロードを指定する
    • -l inf:最大再帰深度(無限または無限の場合は0)
    • --no-remove-listing:「.listing」ファイルを削除しないでください
  • --convert-links:ダウンロードしたHTMLまたはCSSのリンクがローカルファイルを指すようにする
  • --no-parent:親ディレクトリに上がらない
  • --wait=5:取得の間に5秒間待機します。サーバーをスラッシュしないように。
  • <website-url>:これは、ファイルをダウンロードするWebサイトのURLです。

ハッピーダウンロード:smiley:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.