ブラウザでファイルにアクセスできるからといって、wget
必ずしもそれを取得できるとは限りません。あなたのブラウザはディレクトリ構造を認識できるコードを持ってwget
います。
最初に Java ファイルをaccept
リストに追加してみてください。おそらくそれだけで十分です。
wget -r -A "*.java" http://text/root
しかし、サイトの完全なオフライン ミラーを取得しようとしているようです。理解しようとしている他のコマンドと同様に、次のコマンドから始めましょうman wget
。
Wget は、HTML、XHTML、および CSS ページのリンクをたどって、リモート Web サイトのローカル バージョンを作成し、元のサイトのディレクトリ構造を完全に再作成することができます。これは、 「再帰的ダウンロード」と呼ばれることもあります。その際、Wget は Robot Exclusion Standard (/robots.txt) を尊重します。オフラインで表示するために、ダウンロードしたファイル内のリンクをローカル ファイルを指すように変換するようにWget に指示できます。
私たちの必要なもの
1. ダウンロードするファイルへの適切なリンク。
intex.html
ファイルには、Java ファイルへのリンクを提供する必要があります。そうしwget
ないと、ダウンロードが必要であると認識されません。現在のディレクトリ構造についてfile2.html
は、java ファイルへのリンクが含まれていることを確認してください。現在のディレクトリの上のディレクトリにリンクするようにフォーマットします。
<a href="../test/root/A/A1/file1.java">JavaFile</a>
ただし、機密性が低く、日常的にこれを行う場合は、ディレクトリにファイルを配置してリンクするfile1.java
コードが少なくて済みます。index.html
root
<a href="/A/A1/file1.java">JavaFile</a>
Java ファイルのみが必要で、HTML を無視したい場合は、次のように使用できます--reject
。
wget -r -nH --reject="file2.html"
### Or to reject ALL html files ###
wget -r -nH --reject="*.html"
これは、指定したポイントから始まるすべてのディレクトリを再帰的に ( -r
) 通過します。
2. 尊重するrobots.txt
/robots.txt
ディレクトリにファイルがある場合、*/root/*
クロールが妨げられないことを確認してください。その場合は、コマンドwget
で次のオプションを追加して、無視するように指示する必要があります。wget
wget ... -e robots=off http://test/root
3. リモート リンクをローカル ファイルに変換します。
さらに、リンクをダウンロードしたファイルに変換するように指示wget
する必要があります。上記のすべてを正しく行った場合は、ここで問題ないはずです。すべてのファイルを取得する最も簡単な方法は、非パブリック ディレクトリの背後に何も隠されていなければ、次のコマンドを使用することです。mirror
これを試して:
wget -mpEk http://text/root/
# If robots.txt is present:
wget -mpEk robots=off http://text/root/
最大再帰深度がなく、すべてのアセットをダウンロードするため、-m
代わりに使用することをお勧めします。-r
ミラーは、サイトの完全な深さを判断するのに非常に優れていますが、多くの外部リンクがある場合、サイト以外のものをダウンロードすることになる可能性があるため、-p -E -k
. ページを作成するためのすべての前提条件ファイルと、保存されたディレクトリ構造が出力されます。-k
リンクをローカル ファイルに変換します。リンクを設定する必要があるため、ディレクトリfile1.java
内を取得する必要があります。ただし、このコマンドは、または../A1/
内のJavaファイルへの特定のリンクが配置されていなくても、そのまま機能するはずですが、ディレクトリの残りの部分を保持するため、問題はありません。ミラー モードは、ディレクトリ構造として設定されたディレクトリ構造でも機能します。index.html
file2.html
ftp://
また。
一般的な経験則:
ミラーリングしているサイトの側によっては、サーバーに多くの呼び出しを送信しています。ブラックリストに登録されたり、遮断されたりするのを防ぐために、wait
オプションを使用してダウンロードをレート制限してください。投稿した側のサイトである場合は、その必要はありませんが、ミラーリングしている大規模なサイトでは、それを使用する必要があります。
wget -mpEk --no-parent robots=off --random-wait http://text/root/