DOBON.NET DOBON.NETプログラミング掲示板過去ログ

WebBrowserコントロールに表示されている内容をテキスト形式で取り込みたい

環境/言語:[OS : Windows XP Home Edition / 言語 : Visual Basic 2005 Express Edition / .NET Framework : 2.0]
分類:[.NET]

【解決したい問題】

お世話になります。

現在、ようやくWebBrowserコントロールで目的のWebを表示させることができました(つまりは、それほどの初心者です)

WebBrowserコントロールに表示されている内容を、テキスト形式で取り込むコーディングを知りたいのですがどのように記述したらよいのでしょうか。

中国語のWebのせいか、WebBrowser.DocumentTextを見ても何のことやらさっぱり分かりません。

'サンプル
'"http://www.tienma.com/html2/06442.htm"を読み込む

Private Sub 天馬WebBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles 天馬WebBrowser.DocumentCompleted
Me.Text = "読み込み終了"
Me.天馬WebBrowser.Document.Encoding = "BIG5" 'これが分からなかった!

'---この後に表示されている曲名を取り込みたい---

End Sub

あ、コントロール名に漢字を使っているのは気にしないでください。
たぶん,ですが,DOMを解析して必要としている部分のHtmlElementを取得する方法を考えることになるのでは?
または,DocumentTextかbodyエレメントのinnerHtmlを取得して正規表現などで検索するとか。
決まったやり方はないと思います。
■No18199に返信(YASさんの記事)
> たぶん,ですが,DOMを解析して必要としている部分のHtmlElementを取得する方法を考えることになるのでは?
> または,DocumentTextかbodyエレメントのinnerHtmlを取得して正規表現などで検索するとか。
> 決まったやり方はないと思います。

いろいろ調べた結果、InnerTextなるもので解決できました。YASさん、ありがとうございました。

'サンプル修正
'"http://www.tienma.com/html2/06442.htm"を読み込む

Private Sub 天馬WebBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles 天馬WebBrowser.DocumentCompleted
'WEBの読み込み完了時とエンコード完了時と2回実行される
If Me.Text <> "エンコード開始" Then
Me.Text = "エンコード開始"
Me.天馬WebBrowser.Document.Encoding = "BIG5"
Exit Sub
End If
Me.Text = "読み込み終了"
MessageBox.Show(Me.天馬WebBrowser.Document.Body.InnerText)
End Sub
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板