2012-01-25 17 views
3

私は現在C#とこれまでの楽しみを学んでいますが、私はロードブロッキングを打ちました。C#でリンク用のWebブラウザコントロールをスクラップできますか?

私は情報のためにウェブブラウザコントロール内のウェブページを掻き取ることができるプログラムを持っています。

これまでのところ、私はHTML

HtmlWindow window = webBrowser1.Document.Window; 
string str = window.Document.Body.OuterHtml; 
richTextBox1.Text = (str.ToString()); 

とテキスト

HtmlWindow window = webBrowser1.Document.Window; 
string str = window.Document.Body.OuterText; 
richTextBox1.Text = (str.ToString()); 

を得ることができ、私はこの

HtmlWindow window = webBrowser1.Document.Window; 
string str = window.Document.Body.GetElementsByTagName("A").ToString(); 
richTextBox1.Text = str; 

しかし、その代わりに、リッチテキストボックスのようなリンクをこすりして表示しようとしていますフォームにはこれを入力します

System.Windows.Forms.HtmlElementCollection 

現在のウェブページのリンクをテキストボックスに表示するにはどうすればよいですか?

ありがとう Chris。 HtmlAgilityで

答えて

2

それは簡単ですパック:

HtmlWindow window = webBrowser1.Document.Window; 
string str = window.Document.Body.OuterHtml; 

HtmlAgilityPack.HtmlDocument HtmlDoc = new HtmlAgilityPack.HtmlDocument(); 
HtmlDoc.LoadHtml(str); 

HtmlAgilityPack.HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes("//a"); 

foreach (HtmlAgilityPack.HtmlNode Node in Nodes) 
{ 
    textBox1.Text += Node.OuterHtml + "\r\n"; 
} 
関連する問題