2016-11-29 4 views
0

wgetを使用してローカルアーカイブのサイトをミラーリングしようとしています。特定のURLでGETメソッドを呼び出すと、リソースが削除されるなど、すべてがうまくいきます(authヘッダーなど)。--reject-regexを使ってwget follow linksをどのようにフィルタリングしますか?

http://site.domain.com/users/Delete/{uid}

にアクセスするID = UIDを持つユーザを削除します。 wgetには、"/Delete/"というパターンが含まれているものが必要です。

GNU wget manualによれば、wget --reject-regexを使用してURLをフィルタリングできます。

wget --reject-regex='.*Delete.*' -P /path_to_mirror_dir/ -k -p -m -E -c -rH -Dsite.domain.com https://site.domain.com/Home/see explainshell

あたりとして答えherehere:私はので、私は(他の試みの中で)このように、標準POSIX EREを使用しようとしましたlibpcreをサポートするようにコンパイルされなかったwgetバージョン1.15を使用しています。ただし、URLは引き続き追跡されており、リソースは削除されています。

reject-regexを使用して、後続のURLをフィルタリングすることはできますか?

P.S.私は簡単にhttrackを見ましたが、HTTPヘッダーを明示的に送信する方法がわからないときはさらに調査しませんでした。また、私はこのwgetオプションを理解したいと思います。

答えて

0
wget --exclude-directories='*/Delete' -P /path_to_mirror_dir/ -k -p -m -E -c -rH -Dsite.domain.com https://site.domain.com/Home/ 

Explainshell

トリック

+0

おかげで、私はそれを試してみました、それはまだリンクをたどります。 '--exclude-directories'オプションは、サーバ側のディレクトリを参照します([example](http://serverfault.com/questions/324555/how-to-exclude-directories-while-using-wget))。私は何も知らない。 – ededed

0

オーケーを行う必要があります。問題はrecursive accept/reject optionsが(予想どおり)--recursive (-r)としか機能しませんでしたが、--mirror (-m)オプションがそれに取って代わり、--reject-regexパターンは無視されました。このように、作品のコマンドは

wget --reject-regex='.*Delete.*' -P /path_to_mirror_dir/ -k -p -E -c -rH -Dsite.domain.com https://site.domain.com/Home/

関連する問題