2017-03-02 12 views
0

Moin wikiページからリンクされたすべてのページを再帰的に取得しようとしています。私は多くの異なるwget再帰オプションを試しました。全て同じ結果を持っています:与えられたURLからのhtmlファイルだけがダウンロードされ、そのhtmlページからリンクされたページはありません。wgetページでwget recursiveが失敗する

私が--convert-linksオプションを使用すると、wgetは正しいリンクを正しいリンクに変換します。リンクされたページを再帰的にダウンロードするだけではありません。

wget --verbose -r https://wiki.gnome.org/Outreachy 
--2017-03-02 10:34:03-- https://wiki.gnome.org/Outreachy 
Resolving wiki.gnome.org (wiki.gnome.org)... 209.132.180.180, 209.132.180.168 
Connecting to wiki.gnome.org (wiki.gnome.org)|209.132.180.180|:443... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: ‘wiki.gnome.org/Outreachy’ 

wiki.gnome.org/Outreachy          [ <=>                                ] 52.80K 170KB/s in 0.3s  

2017-03-02 10:34:05 (170 KB/s) - ‘wiki.gnome.org/Outreachy’ saved [54064] 

FINISHED --2017-03-02 10:34:05-- 
Total wall clock time: 1.4s 
Downloaded: 1 files, 53K in 0.3s (170 KB/s) 

wikiのhtmlリンクが.htmlで終わらないために失敗したかどうかはわかりません。私は、--accept='[a-zA-Z0-9]+'--page-requisites--accept-regex='[a-zA-Z0-9]+'のさまざまな組み合わせを使用してそれを回避しようとしました。

wikiにhttps://wiki.gnome.org/Outreachy/Adminhttps://wiki.gnome.org/Outreachy/Admin/GettingStartedのようなページURLをリンクするhttps://wiki.gnome.org/Outreachyのようなhtmlページがあるため、うまくいかないかどうかわかりません。 HTMLページと同じ名前のディレクトリが必要なため、おそらくwgetは混乱しますか?私も--ndを使ってみましたが、運はありませんでした。

リンクされたhtmlページは、すべてベースのWiki URLからの相対パスです(例:<a href="/Outreachy/History">Outreachy history page</a>)。私も運がないと--base="https://wiki.gnome.org/を追加しようとしました。

この時点では、さまざまなwgetオプションを試してきました。いくつかのスタックオーバーフローとunix.stackexchange.comの質問を読みましたが、私が試したことはありませんでした。私はこの特定のwikiページを見て、wgetがリンクされたページを再帰的にフェッチしていない理由を理解できるwgetの専門家がいることを望んでいます。他のドメインでも同じオプションが有効です。

また、私は同じ結果でhttrackを試しました。私はLinuxを使用していますので、Windowsまたは独自のツールを提案しないでください。

答えて

0

これはウィキに次のタグに起因すると思わ:

<meta name="robots" content="index,nofollow"> 

あなたがタグを無視してよろしいであれば、あなたはwgetのは-e robots=offを使用して、それを無視することができます。

wget -e robots=off --verbose -r https://wiki.gnome.org/Outreachy 
+0

ありがとう!フェッチされたrobots.txtを探していましたが、メタタグを調べていませんでした。 –