1つからリンクされたすべてのWebページを保存する方法


15

このWebページとそれがリンクするすべてのページを保存したいと思います。保存されたウェブページ間で同じリンクを作成したいと考えています。

リンクされた各ページを開いて保存する代わりに、いくつかの方法がありますか?

回答:


12

wgetコマンドラインユーティリティを使用して、必要な処理を実行できます。オプションを指定すると、-rWebページが再帰的にダウンロードされます。例えば:

wget -r http://mat.gsia.cmu.edu/orclass/integer/integer.html

これにより、そのWebページとリンク先のWebページがダウンロードされます。また、特定のレベル数だけ再帰するようにすることもできます。これを行うには、単に-r数を指定するだけです。そのような:

wget -r 5 http://mat.gsia.cmu.edu/orclass/integer/integer.html

@マーク:ありがとう!コマンドwget -r mat.gsia.cmu.edu/orclassを使用して、mat.gsia.cmu.edu / orclassおよびそれがリンクするページをダウンロードしようとしています。wgetは、指定したディレクトリの下にmat.gsia.cmu.eduディレクトリを作成し、その下のページをダウンロードします。しかし、ダウンロードしたページ間のリンクのパスにはmat.gsia.cmu.eduがないため、問題になり、リンクをクリックしてもページ間を移動できません。問題を解決する理由と方法は?ありがとう!
ティム

@Timという外部リンクを再帰的にダウンロードできるとは思いません。
ワッファー

「外部リンク」とは、現在のパスの下にないものを意味しますか?
ティム

@Tim:外部リンク外mat.gsi.cmu.eduの指すI平均リンクで
Wuffers

1
@ティム:ああ、わかりました。誤解して申し訳ありません。HTMLファイルを自分で編集して確認し、機能させることができると思います。
ワッファー

10

このスレッドは現在は古いですが、他のスレッドはそれを見るかもしれません。Wuffers、私を正しい方向に向けてくれてありがとうウェブサイトの。-rオプションを使用して再帰し、-kオプションを使用してローカルリンクにパッチを適用し、-Hオプションを使用して元のドメイン以外のドメインに移動し、-Dオプションを使用して移動先ドメインを制限し、-lオプションを使用して再帰の深さ、および-pオプションを使用して、トラバーサルの葉に正しく表示するために必要なすべてのものがあることを確認します。たとえば、次のコードはページとすぐにリンクするすべてのものをダウンロードし、ローカルで閲覧可能にし、

wget -r -l 1 -p -k -H -D domain.com,relateddomain.com http://domain.com/page/in/domain

上記のコマンドに似たコマンドを使用して、メガバイトの外部データをダウンロードすることなく、外部リンクを含むウィキページのチャンクをローカルディスクにダウンロードすることができました。これで、ブラウザでルートページを開くと、インターネットに接続せずにツリー内を移動できます。唯一のイライラは、ルートページがサブディレクトリに埋もれていることであり、表示を便利にするためにトップレベルのリダイレクトページを作成する必要がありました。正しくするには、試行錯誤が必要になる場合があります。wgetのmanページを読んで実験してください。


4

無料のhttrackのようなWebサイトクローラーを使用できます。

ウェブサイトから。

[httrack]を使用すると、World Wide Webサイトをインターネットからローカルディレクトリにダウンロードし、すべてのディレクトリを再帰的に構築し、HTML、画像、およびその他のファイルをサーバーからコンピューターに取得できます。HTTrackは、元のサイトの相対リンク構造を配置します。ブラウザで「ミラーリングされた」Webサイトのページを開くだけで、オンラインで閲覧しているように、リンクからリンクへサイトを閲覧できます。


1
+1優れたアプリケーション!しかし、リンクされたすべてのzipファイルも取得するため、これは望ましくありませんでした。しかし、その後、私はおそらく最初に指示を読んでいたはずです!
finlaybob

うん、それはすべてのリンクをたどることができる/続けるので、ファイルをダウンロードします。(@Finlaybobは、プロファイルにリストされているホームページがハッキングされていることを知っていますか?)
RJFalconer 14年

私ではありませんでした!私はそれを調べます-私に知らせてくれてありがとう!
finlaybob 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.