Web ページのテキスト (ソース) のみを取得する方法はありますか? 私は2つのアプローチを使用してみました:
Using WebRequest
WebRequest myWebRequest = WebRequest.Create("http://www.website.com/");
WebResponse myWebResponse = myWebRequest.GetResponse();
Stream ReceiveStream = myWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
string html = readStream.ReadToEnd();
readStream.Close();
myWebResponse.Close();
このアプローチは、要求された Web ページが静的な場合にうまく機能します。ただし、要求された Web ページのコンテンツがページの読み込みが発生したときにのみ生成される場合、適切なソース コンテンツを取得できません。
Using Web Browser
WebBrowser browser = new WebBrowser();
browser.ScrollBarsEnabled = false;
browser.ScriptErrorsSuppressed = true;
browser.Navigate(new Uri(http://www.website.com/));
このアプローチでは、毎回適切なソース コンテンツが提供されますが、多くの時間がかかり、ポップアップも表示されます。また、ブラウザ バージョンのポップアップを表示する Web サイトもあれば、IE で開くものもあります (これは望ましくありません)。
私の最終的な目標は、ブラウザーを開いたり、ポップアップを表示したりせずに、できるだけ早く Web ページのソース コンテンツを取得することです。希望する解決策を達成するために使用できる方法があれば教えてください。ありがとう。