HTMLソースを取得する場合Webbrowserコントロールを使用しなければいけないのでしょうか? への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 ぺぺたろう(旧トマト)  (中学生) 投稿日時 2011/2/17 18:49:44
SGMLReader(http://developer.mindtouch.com/en/docs/SgmlReader)とXmlDocument(またはXElementやXDocument)を使って自分でHTMLを解析するとこもできます。

Dim sgml As New Sgml.SgmlReader()
sgml.Href = アドレス
Dim xml As System.Xml.Linq.XElement = System.Xml.Linq.XElement.Load(sgml) 'VB2008以降 
sgml.Close()
Dim title As String = xml...<title>.Value()

未テストですいません
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/2/17 14:16:43
WebBrowser は、画像の読み込みやスクリプトの実行、クッキー制御なども行うため、
その分の処理時間がかかります。(これらを一時的に中止させる機能も一応ありますけど)

ソースの取得だけが目的なら、HttpWebRequest  クラス等を使った方が高速です。
http://dobon.net/vb/dotnet/internet/webrequestsavefile.html
http://dobon.net/vb/dotnet/internet/webrequest.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html

ただしこちらの方法では、WebBrowser.Document 相当の機能を利用できないため、
タイトルを取得したい場合は、Regex などで文字列を切り出す作業が必要になります。
投稿者 Saki  (社会人) 投稿日時 2011/2/17 13:56:56
Webページのタイトルを取得するときなどWebbrowserコントロールで一度対象のURLを表示させてから(非表示でもいけますが)取得することができます。

しかし、Webbrowserコントロールを使うと動作がもっさりして取得に時間がかかります。
これ以外に取得する方法はないのでしょうか。