CSS をパースするダウンロードツール pavuk を試す
2007-05-29-1
サイトのミラーリングなどに wget -m とか使う場合がありますが,wget ではどうしても対応できない場合があります.
それは,CSS をパースしてくれないことです.
例えば,以下のような CSS はパースしてくれません.
@import(foo.css);
background-image: url(foo.png);
<h1 style="background-image: url(foo.png);">foo</h1>
つまり,foo.css や foo.png をダウンロードしてくれないのです.
これはどうしようもないと諦めていたのですが,pavuk というツールを見つけました.
pavuk を使うと,上記のような CSS をパースして,foo.css や foo.png もダウンロードしてくれます.
- Pavuk - Home
http://www.pavuk.org/
$ pavuk -mode mirror \
-base_level 1 \
-index_name index.html \
-noRelocate \
-adomain example.com \
http://example.com/
これで,example.com_80 というディレクトリにミラーリングされます.
それでは,オプションをちょっと解説.オプションは,これでもかっていうくらい沢山あります.詳しくは pavuk --help か man pavuk をご覧ください.
- -mode mirror
ミラーリングするオプションです.他に,sync,dontstore などがあります.
- -base_level 1
作成するディレクトリの階層を省略するレベルを指定します.
何も指定しないと上記の場合は
http/example.com_80/foo/bar/
のように,ディレクトリが作成されます.
ですので,1 を指定して,以下のようにディレクトリが作られるようにします.
example.com_80/foo/bar/
- -index_name index.html
インデックスファイル名を指定します.指定しないと _._.html というファイル名になります.
- -noRelocate
ダウンロードしたファイルのリンクをローカルに合わせて (相対パスに) 書き換えないオプションです.
つまり,これを指定しないと,相対パスに書き換えます.
- -adomain
許可するドメインです.
サイトを見ると GUI でしか使えないような気がしたのですが,CUI でも問題なく使えます.
一応,Solaris 10 でのインストールメモ.GUI は使いませんので GTK とかは無効にしました.
$ ./configure --disable-gtk --disable-gtk2
$ make
$ sudo make install
なんてことはありませんね.いわゆる configure 一発モノです.