mojo-checkbotがある程度できてきたのでベータ版にしてみたよ。githubでゲットできます。最新のバージョン番号のタグがついたものを使ってください。
mojo-checkbotはクローラーにウェブサイト内のステータスコードを収集させつつ、ブラウザでレポートを見れるコマンドラインツールです。checkbotの機能限定版という感じですが、日本語が正常に表示されたり、ファイルを介さないのでシンプルだったり、レポートの見せ方を工夫したりと、色々改善しています。
mojo-checkbotはMojoliciousをベースにしています。Mojolicious本体は同梱されてるのでインストール不要ですが、Mojoliciousのバージョン2からperl5.10.1依存になったので、以前のバージョンで動くかは不明です(5.10.0では動いてる風)。要改善点はまだ多数あるので逐一更新して行きます。見た目がダサいので誰かデザインしてくれませんか。
mojo checkbot [--start start URL] [--match match string] [--sleep seconds] [--ua useragent header] [--cookie cookie string] [--timeout seconds] [--evacuate second] [--noevacuate] [--resume]
DESCRIPTION
ウェブサイトのリンクチェッカーです。コマンドラインで開始URLを指定してデーモンを起動し、ブラウザでhttp://127.0.0.1:3000 を開くとチェック状況が逐一報告されます。リンクの収集とステータスコードの収集は再帰的に延々続きますので、matchオプションでURLフィルタをかけておくと、そのうち止まるかもしれません。
OPTIONS
下記のオプションが利用可能です:
クローラーオプション --startクロールをスタートするURLを指定します。 --match チェック対象のURLを正規表現で指定します。 --sleep クロールの間隔を指定します。 --ua クローラーのHTTPヘッダに設定するユーザーエージェントを指定します。 --cookie クローラーがサーバーに送信するクッキーを指定します。 --timeout クローラーのタイムアウトする秒数を指定します。デフォルトは15です。 --evacuate [EXPERIMENTAL]レポートをテンポラリーファイルに出力する間隔を指定します。 --noevacuate [EXPERIMENTAL]resume用のファイル出力を無効化します。 --resume [EXPERIMENTAL]前回の結果を復元し、再開します。 レポートサーバーオプション --backlog Set listen backlog size, defaults to SOMAXCONN. --clients Set maximum number of concurrent clients, defaults to 1000. --group Set group name for process. --keepalive Set keep-alive timeout, defaults to 15. --listen Set one or more locations you want to listen on, defaults to "http://*:3000". --proxy Activate reverse proxy support, defaults to the value of MOJO_REVERSE_PROXY. --requests Set maximum number of requests per keep-alive connection, defaults to 25. --user Set username for process. --websocket Set WebSocket timeout, defaults to 300.
EXAMPLE1
$ mojo checkbot --start http://example.com --match http://example.com/ --sleep 2 [Mon Oct 17 23:18:35 2011] [info] Server listening (http://*:3000) Server available at http://127.0.0.1:3000.
EXAMPLE2
本プログラムはMojolicious::Liteをベースにしていますので、そちらのオプションも有効なはずです。
$ mojo checkbot --listen http://*:3001 --start http://example.com
EXAMPLE3
クッキーを指定して要認証サイトのチェックもできます。
$ mojo checkbot --start http://example.com --cookie \
'key=value; Version=1; Domain=example.com; Path=/; expires=Fri, \
28 Oct 2011 15:26:47 GMT'
https://github.com/jamadam/mojo-checkbot
Copyright (c) 2011 jamadam
Dual licensed under the MIT and GPL licenses:


No Responses to “サイト内のリンク切れを一括検出する「mojo-checkbot」がβ版になった”