2

良い一日。C#を使用してサイトマップのジェネレーターを作成する必要があります。プロジェクト(サイト)へのパスを入力するローカルサイト用のジェネレーターを既に作成しました。プログラムは、このディレクトリとサブディレクトリ内のすべてのWebページを検索し、それらをサイトマップファイルに書き込みます。


今、私は同じことをする必要がありますが、URLパスに対してです。入力するのはURLアドレスだけで、プログラムはこのサイトのすべてのWebページを見つけて、サイトマップに書き込む必要があります。このようなページの検索をどのように整理できますか?それとも誰かが似たようなことをしたのでしょうか?あなたの助けに感謝します。

4

1 に答える 1

3

探しているのは、Webクローラーまたはサイトクローラーです。基本的に、彼らが行うことは、必要なWebサイトのソースコードを取得し、ハイパーリンクタグではなく、余分なhtmlタグをすべて削除することです。これにより、プログラムがより多くのページに「クロール」するために使用する一連のリンクが残ります。仕組みの概要は次のとおりです:(コードは提供しませんが、作成方法について詳しく説明します)

簡単なウェブサイト:

<html>
<a href="www.somewebsite.com/link1.html">Link 1</a><br />
<a href="www.somewebsite.com/link2.html">Link 2</a><br />
<a href="www.somewebsite.com/link3.html">Link 3</a>
</html>

私たちのプログラムはソースコードを取得しますが、役に立たないタグをすべて削除し、次のようにします。

<a href="www.somewebsite.com/link1.html">Link 1</a>
<a href="www.somewebsite.com/link2.html">Link 2</a>
<a href="www.somewebsite.com/link3.html">Link 3</a>

次に、href = ""属性を取得し、WebサイトのURLを残します。

www.somewebsite.com/link1.html
www.somewebsite.com/link2.html
www.somewebsite.com/link3.html

その後、プログラムはそれらの各Webサイトのソースコードを取得し、同じことを何度も繰り返します。さらに進んで、GETリクエストを使用するすべてのリンクを削除できます。

www.somewebsite.com/link1?id=1

そして他のウェブサイトへのリンクを含むもの。

すべてのWebサイトにアクセスし、すべてのリンクを取得したら、情報をツリーのような形式(XMLなど)で保存できます。

お役に立てれば!

于 2012-05-03T10:09:32.550 に答える