wget コマンドを使用しようとしています:
wget -p http://www.example.com
メインページのすべてのファイルを取得します。一部の Web サイトでは機能しますが、ほとんどの場合、index.html のみをダウンロードします。wget -r コマンドを試しましたが、うまくいきません。ページ上のすべてのファイルを取得する方法を知っている人、またはページ上のファイルと対応する URL のリストを教えてください。
wget コマンドを使用しようとしています:
wget -p http://www.example.com
メインページのすべてのファイルを取得します。一部の Web サイトでは機能しますが、ほとんどの場合、index.html のみをダウンロードします。wget -r コマンドを試しましたが、うまくいきません。ページ上のすべてのファイルを取得する方法を知っている人、またはページ上のファイルと対応する URL のリストを教えてください。
Wget は Web サイト全体をダウンロードすることもできます。ただし、これはサーバーに大きな負荷をかける可能性があるため、wget は robots.txt ファイルに従います。
wget -r -p http://www.example.com
-p パラメータは、イメージを含むすべてのファイルを含めるよう wget に指示します。これは、すべての HTML ファイルが本来あるべき姿になることを意味します。
wget が robots.txt ファイルに従わないようにするにはどうすればよいでしょうか。次のようにコマンドに -e robots=off を追加するだけです。
wget -r -p -e robots=off http://www.example.com
多くのサイトではサイト全体をダウンロードできないため、ブラウザーの ID を確認します。これを回避するには、上で説明したように -U mozilla を使用します。
wget -r -p -e robots=off -U mozilla http://www.example.com
多くの Web サイト所有者は、サイト全体をダウンロードするという事実を好まないでしょう。大量のファイルをダウンロードしていることをサーバーが確認すると、自動的にブラック リストに追加される場合があります。これを回避するには、ダウンロードするたびに数秒待ちます。wget を使用してこれを行う方法は、 --wait=X を含めることです (X は秒数です)。
パラメータ --random-wait を使用して、wget が待機する秒数をランダムに選択できるようにすることもできます。これをコマンドに含めるには:
wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com
まず、質問を明確にするために、その目的はindex.html
、そのページのすべての必要な部分 (画像など) をダウンロードすることです。オプションは-p
と同等--page-requisites
です。
ページの必要条件が常にダウンロードされるとは限らない理由は、元のページとは異なるドメイン (CDN など) でホストされることが多いためです。デフォルトでは、wget は他のホストへのアクセスを拒否するため、オプションでホスト スパニング--span-hosts
を有効にする必要があります。
wget --page-requisites --span-hosts 'http://www.amazon.com/'
index.html
すべてのページ要件をローカル バージョンからロードしてロードできるようにする必要がある場合は、この--convert-links
オプションを追加して、img
src 属性の URL (たとえば) がローカル バージョンを指す相対 URL に書き換えられるようにする必要があります。
必要に応じて、オプションを追加してすべてのファイルを単一の「ホスト」ディレクトリに--no-host-directories
保存するか、オプションを追加してすべてのファイルを単一のフラット ディレクトリに保存することも--no-directories
できます。
を使用--no-directories
すると、現在のディレクトリに大量のファイルがダウンロードされるため、--directory-prefix
.
wget --page-requisites --span-hosts --convert-links --no-directories --directory-prefix=output 'http://www.amazon.com/'
このスレッドが古いことは知っていますが、Ritesh が言及していることを試してみてください。
--Cookie なし
それは私のために働いた!