私はこの.NETライブラリに出くわしました:
http://www.webzinc.com/online/faq.aspx
しかし、そこに無料の代替手段があるかどうか疑問に思っていましたか?
ロボットの構築はそれほど難しくなく、そのための一般的なアルゴリズムを説明している本がたくさんあります (Google で簡単に検索すると、多くのアルゴリズムが見つかります)。
.NET の観点からの要旨は、再帰的に行うことです。
ページのダウンロード - これはHttpWebRequest
/HttpWebResponse
またはWebClient
クラスを介して行われます。また、 CodePlexの新しい WCF Web API を使用することもできます。これは、特に REST コンテンツの作成/消費を目的とした上記の大幅な改善であり、スパイダー目的でうまく機能します(主に拡張性のため)。
ダウンロードしたコンテンツを解析する - Html Agility Pack とHtml Agility Packのfizzler拡張機能を強くお勧めします。Html Agility Pack は、不正な形式の HTML を処理し、XPath (またはそのサブセット) を使用して HTML 要素をクエリできるようにします。さらに、fizzler では、jQuery での使用に慣れている場合、CSS セレクターを使用できます。
構造化された形式の HTML を取得したら、関連するコンテンツの構造をスキャンして処理します。
外部リンクの構造化された形式をスキャンし、キューに配置して処理します (アプリに必要な制約に反して、Web 全体をインデックス化しているわけではありません)。
キュー内の次のアイテムを取得し、プロセスをもう一度繰り返します。