wgetを使用して再帰的にダウンロードする


32

次のwgetコマンドに問題があります。

wget -nd -r -l 10 http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

元のWeb上のリンクされたドキュメントをすべて再帰的にダウンロードする必要がありますが、ダウンロードするのは2つのファイル(index.htmlおよびrobots.txt)のみです。

この Webを再帰的にダウンロードするにはどうすればよいですか?

回答:


40

wgetデフォルトでは、検索エンジンと同じように、ページのクロールに関してrobots.txt標準を尊重し、archive.orgについては、/ web /サブディレクトリ全体を許可しません。無効にするには、使用-e robots=off

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

ありがとうございました。すべてのリンクを一度だけ保存するオプションはありますか?10数字を小さくする必要があるかもしれませんが、推測するのは難しいです。今すぐファイルがありintroduction.htmlintroduction.html.1introduction.html.2と私はむしろ、プロセスを終了します。
xralf

そして、リンクはウェブに向けられています。--mirrorファイルシステムに直接リンクするオプションはありますか?
xralf

1
@xralf:まあ、あなたはを使用-ndしているので、異なるindex.htmlが同じディレクトリに置かれ、なし-kではリンクの書き換えができません。
ウルリッヒ・シュワルツ

12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

URLのコンテンツを再帰的にダウンロードします。

--random-wait - wait between 0.5 to 1.5 seconds between requests.
-r - turn on recursive retrieving.
-e robots=off - ignore robots.txt.
-U Mozilla - set the "User-Agent" header to "Mozilla". Though a better choice is a real User-Agent like "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)".

その他の便利なオプションは次のとおりです。

--limit-rate=20k - limits download speed to 20kbps.
-o logfile.txt - log the downloads.
-l 0 - remove recursion depth (which is 5 by default).
--wait=1h - be sneaky, download one file every hour.

-l 0 - remove recursion depth (which is 5 by default)+1
ダニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.