投稿者 るきお  (社会人) 投稿日時 2011/2/22 22:18:08
titleタグの内容を抜き出すサンプルです。

この例ではインターネットのサイトにアクセスしてhtmlを取得していますが、
html取得までの部分はローカルのドキュメントから取得してもよいし、ほかの方法で生成してもよいです。

Dim internet As New Net.WebClient
'プロキシーを通してWebにアクセスする場合は以下の2行を復活させプロキシーのアドレスとユーザー名・パスワードを指定してください。 
'internet.Proxy = New Net.WebProxy("198.100.99.99", 8080) 
'internet.Credentials = New Net.NetworkCredential("rucio", "mypass") 

Dim html As String = internet.DownloadString("http://www.nifty.com/")
internet.Dispose()
Dim regop As System.Text.RegularExpressions.RegexOptions = System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.Singleline
Dim pattern As String = "<title.*?>(.*?)</title>"
Dim regex As New System.Text.RegularExpressions.Regex(pattern, regop)
Dim match As System.Text.RegularExpressions.Match = regex.Match(html)
Dim title As String
If match.Success Then
    title = match.Groups(1).Value
Else
    title = ""
End If
MsgBox(title)


一般的でない書き方でtitleタグが埋め込まれている場合は、抽出条件に合致せず取得できない可能性はありますが、ほとんどのサイトでこの方法で取得できると思います。

この手法はタイトルだけ取得するのにWebページ全体を読み込んでいる点で効率はあまりよくありません。titleタグはWebページのかなり上のほうにあるはずなので、実際にはWebページを少しだけ読めばtitleタグを探せるはずです。
StreamReaderを使ってhtmlを少しずつ読んでいけば効率化は図れますが、プログラムは複雑になるでしょう。htmlをWebから取得する場合はSystem.Net.WebClient.OpenReadメソッドでStreamを取得できます。