it-swarm-ja.com

パラメータ付きのリンクをたどらずにwgetでダウンロードする方法

CDに含めるために2つのサイトをダウンロードしようとしています。

http://boinc.berkeley.edu/trac/wiki
http://www.boinc-wiki.info

私が抱えている問題は、これらが両方ともwikiであるということです。したがって、たとえば次のようにダウンロードする場合:

wget -r -k -np -nv -R jpg,jpeg,gif,png,tif http://www.boinc-wiki.info/

たくさんのファイルもあります。これは、...?action = edit ...?action = diff&version = ..のようなリンクもたどるからです。

誰かがこれを回避する方法を知っていますか?

画像や差分などのない現在のページが欲しいだけです。

追伸:

wget -r -k -np -nv -l 1 -R jpg,jpeg,png,gif,tif,pdf,ppt http://boinc.berkeley.edu/trac/wiki/TitleIndex

これはバークレーで機能しましたが、boinc-wiki.infoはまだ私に問題を与えています:/

P.P.S:

最も関連性の高いページと思われるものを次のように取得しました。

wget -r -k -nv  -l 2 -R jpg,jpeg,png,gif,tif,pdf,ppt http://www.boinc-wiki.info
11
Tie-fighter

新しいバージョンのwget(v.1.14)は、これらすべての問題を解決します。

クエリ文字列を処理するには、新しいオプション--reject-regex=....を使用する必要があります。

これらの新しいオプションを含む新しいマニュアルが見つからなかったため、ヘルプコマンドwget --help > help.txtを使用する必要があることに注意してください。

5
user3133076
wget --reject-regex '(.*)\?(.*)' http://example.com

(デフォルトでは--reject-type posix)。他のコメントによると、最近の(> = 1.14)バージョンのwgetでのみ機能します。

wget呼び出しごとに1回だけ--reject-regexを使用できるように見えることに注意してください。つまり、複数の正規表現で選択する場合は、単一の正規表現で|を使用する必要があります。

wget --reject-regex 'expr1|expr2|…' http://example.com
wget -R "*?action=*"

これにより、名前に?action=が含まれているものはすべて除外されます。

0
Daisetsu