このようなファイルサーバーからファイルのリストをダウンロードするにはどうすればよいですか http://www.Apache.org/dist/httpd/binaries/ ?
Wgetを使用できると思いますが、すべてのリンクとHTMLファイルも取得しようとします。これを達成するためのより良いツールはありますか?
ページのクロール時にダウンロードするファイル拡張子wget
を指定できます。
wget -r -A Zip,rpm,tar.gz www.site.com/startpage.html
これは再帰的な検索を実行し、.Zip
、.rpm
、.tar.gz
拡張子。
(まだ)それらをフェッチせずにサーバー上のファイルのリストが本当に必要だと仮定します:
%> wget -r -np --spider http://www.Apache.org/dist/httpd/binaries/ 2>&1 | awk -f filter.awk | uniq
一方、「filter.awk」は次のようになります
/^--.*-- http:\/\ /.* [^\/] $/{u = $ 3; } /^ Length:[[:digit:]] +/{print u; }
次に、おそらくいくつかのエントリを除外する必要があります
"http://www.Apache.org/dist/httpd/binaries/?C=N;O=D"
参照: 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: