Web サイトのデッドリンクを検出するツールの作り方

  • 動作
    • 指定された URL またはローカルファイルパスを起点にして、リンクをたどっていく。
    • 既知のリンク (href とか src とか) を見つけたら、チェック対象として追加する。
    • 対象をすべて (チェック中に追加されたものも含めて) チェックしおわったら処理終了。
    • 結果は、ツリーかリストで出力
  • オプション
    • チェック範囲 (このドメイン内のみのページ、とか)
    • 外部リンクをチェックするか?
    • (外部リンクチェックあり時) 基底 URL (←外部リンクチェックする時用)
    • 除外する名前/拡張子 (*.cgi 全部除外とか、read.cgi は OK だけど write.cgi は除外するとか)
    • (ローカルの場合) デフォルトのファイル名 (index.html) とか
  • 楽に実装するには
    • Java
    • Commons HttpClient (?)
    • JTidy (←内容を DOM で取得できる。base 要素に注意)
    • Commons CLI (CUI)/Swing or SWT or SwingWT (GUI)