私はしばしば wget を使用して、非常に大きな Web サイトをミラーリングします。ホットリンクされたコンテンツ (画像、ビデオ、css、js など) を含むサイトは問題を引き起こします。クロールで他のホストへのハイパーリンクをたどらない限り、wget が他のホストにあるページの必要条件を取得することを指定できないようです。ホスト。
たとえば、このページを見てみましょう https://dl.dropbox.com/u/11471672/wget-all-the-things.html
これが、すべてのページ要件 (ホットリンクされたものを含む) を含めて、完全にミラーリングしたい大規模なサイトであるとしましょう。
wget -e robots=off -r -l inf -pk
^^ ホットリンクされた画像以外のすべてを取得します
wget -e robots=off -r -l inf -pk -H
^^ホットリンクされた画像を含むすべてを取得しますが、制御不能になり、Web全体のダウンロードに進みます
wget -e robots=off -r -l inf -pk -H --ignore-tags=a
^^ ホットリンクされた画像とローカル画像の両方を含む最初のページを取得し、スコープ外のサイトへのハイパーリンクをたどりませんが、明らかにサイトの次のページへのハイパーリンクもたどりません。
これを達成するための他のさまざまなツールと方法があることは知っていますが (HTTrack と Heritrix を使用すると、ユーザーは他のホスト上のホットリンクされたコンテンツと他のホストへのハイパーリンクを区別できます)、wget でこれが可能かどうかを確認したいと思います。 . 出力しているWARCファイルに外部コンテンツ、リクエスト、およびヘッダーを含めたいので、理想的にはこれは後処理では行われません。