大規模サイトのリンク切れをチェックしたい

大量の HTML ページの外部 URL へのリンク切れを一括チェックできるツールを探しています。
こんなソフトはないものでしょうか…
なければ自作するかもしれません。

チェックするリンク元ページ

  • ローカルディスクの特定ディレクトリ内にある HTML ファイルを一括チェック
  • 指定された URL の Web ページを起点としてリンクを辿ってクロールしながらチェック

のいずれか、できれば両方指定できると有り難い。(CGIPHP 等で動的に生成されるページのことを考えると、後者は欠かせないか?)

リンクとして扱う対象

<A HREF="..."> のリンクだけでなく、<IMG SRC="..."> や <BLOCKQUOTE CITE="..."> のようなもの、さらには <META HTTP-EQUIV="Refresh" CONTENT="XX;URL=..."> や CSS の @import "..." や url("...") 等、とにかく値として URL を取る物は全て対象としたい。
ページ内アンカー (<A NAME="...">, <X ID="...">) へのリンク切れも対象としたい。

結果として教えて欲しい情報

リンク先が存在するか否か、だけではなく、ステータスコード 40X 系で明らかにページが存在しないのか、30X 系でリダイレクトされているのか、それ以前に名前解決できなかったりサーバに接続できなかったりしているのか、が区別がつくようにして欲しい。

リンク先は存在している場合でも、先頭 1KB くらい GET して META Refresh で他のページに移動させられていないか確認してもらえるとベスト。

それぞれに重要度を示してほしい。

  • <A HREF="..."> のリンク切れは最重要
  • <IMG SRC="..."> や <LINK REL="StyleSheet" HREF="...">、<SCRIPT SRC="..."> も準最重要
  • その他ステータスコード 40X 系は修正必須
  • レスポンスコード 30X 系、50X 系、サーバ接続エラー等は要確認
  • でも 〜/index.html が 〜/ に転送されてるのは軽視・または無視してもいい

という感じ。

さらに、実在するファイル一覧と照合して、「どこからもリンクされていないファイル・アンカー」を報告してくれると嬉しい

動作環境等

LinuxSolaris で動くことが望ましいが、無ければ Windows も妥協。
ン万ページ級の大規模サイトもチェック可能なように、全てをオンメモリで実行しようとしないこと
基本的にフリーウェアやオープンソースが希望だけど、なければ参考としてシェアウェアや商用の製品でも…
一度確認したページは結果をキャッシュして相手のサーバに迷惑をかけないこと。

確認済みソフト

は確認済み。

Website Explorer はかなり有望だけど、大規模サイトのチェックを行おうとすると徐々に重くなって動かなくなる、その他用件をいくつか満たしていないことがネックです。