How to use arcget

まずはファイルの置き場を決めよう。

wg = ArcGet.new({:db => "abcsite.db3"})
これで、abcsite.db3 というファイルに取り込み結果を保存してほしいという意味になります。

取り込み先を設定しよう。

uri=URI.parse("http://abc.site.jp/xyz/")
rootexp = %r{^[^/]*//(?:[^/]+\.)*#{Regexp::escape(uri.host)}(?::\d*)?/}ni
wg.add_root rootexp,15
wg.add_url(uri)
これで、abc.site.jp 配下、もしくはそこからリンクされているページで、http://abc.site.jp/xyz/ から辿れる15リンク以内のページを取り込んでください、との指示にhttp://abc.site.jp/xyz/

実行しましょう。

wg.start
あとは放置すれば手元にサイトのコピーが残されます。

細かい設定について

sleep_setting 待機秒数

ダウンロードとダウンロードの間の待機秒数を指定します。
短くするとサーバーへの負担が大きくなりますので出来るだけ初期設定でお使いください。
 

exclude_wayback 真偽値

web.archive.org を除外する設定です。
trueの場合web.archiveの記事はダウンロード対象としません。
(サンプルのように add_root で除外設定とすることもできます)
 

commit_count 回数

ここで指定したファイル数のダウンロード処理毎に保存処理が行われます。
初期値は16、細かいファイルが大量の場合は多めにしてみるといいかもしれません。
 

save_path(param={:path => 巨大ファイル保存場所, :db => 通常ページの保存場所, :pendingURI => ダウンロード除外したファイル一覧の出力先})

各種ファイルの保存先を指定します。
指定を省略もできます(その場合初期値が使用されます)、また pendingURI に空文字列を指定することで、出力なし(デフォルト)にも設定できます。
なお、newのパラメーターもこれと同一です。
 

set_echo 出力ストリーム

進行状況を表示するための出力ストリームを指定します。
nilが指定されると表示は捨てられます。
戻り値でもともと設定されていた値を返しますので、
bak = wg.set_echo nil
何か処理
wg.set_echo bak
のように一時的に設定を変更することも可能です。
 

add_root 正規表現,リンク数(省略可能)

有効なURLを規定する正規表現を指定します。
複数指定した場合、いずれかの正規表現がヒットすれば有効とみなされます。
nilの指定でそれまでの設定をクリアします。
 

add_cgi_root 正規表現,リンク数(省略可能)

cgiと見なすURLを規定する正規表現を指定します。
複数指定した場合、いずれかの正規表現がヒットすればcgiとみなされます。
nilの指定でそれまでの設定をクリアします。
 
cgiと見なされたアドレスからcgiと見なされたアドレスへのリンクはここで指定されるリンク数で制限されます。
 

add_url ダウンロード基点アドレス

ダウンロードを開始するアドレスを指定します(複数指定可能)
ここで指定されたアドレスから、add_rootで指定された回数のリンクを辿って巡回できる範囲を取り込みます。