2012-05-12 9 views
2

まず、「レンダリング」が正しい単語であるかどうかはわかりません。私はウェブサイトから情報を得るのが好きです。したがって、私は現在、WebBrowserコントロールを使用しています。 私はHttpWebRequestsを使うのが好きです。なぜなら、これははるかに高速で、スレッド化はより簡単に使用できるからです。しかし、私はそれらを使うことができません.HttpWebRequestから受け取ったHTML出力文字列には、必要な情報が作成されるJavaScriptがたくさんあります。 ウェブブラウザはJavaScriptを読み込み可能なHTMLに "レンダリング"します。どのように私はHttpWebRequestsを使用することができますように、 "手で"この手順を行うには?WebBrowserコントロールなしでHTMLをレンダリングする方法

私はあなたが理解してもらいたいと思います。

+0

WebClientをHttpWebRequestより優先します。とにかく、そのように使用されることを意図していないページを掻き取ろうとしているようで、使用条件に違反しているようです。情報を取得できる(WebService)APIが存在するかどうかチェックしましたか? – Filburt

+0

あなたの質問を改訂してください、それは非常に不明です。 – user845279

+0

@ user845279質問自体はかなりはっきりしていますが、確かに他のところですでに答えられています。私はそれを誰かに残して、一致する複製を見つける。 – Filburt

答えて

0

Awesomiumというプロジェクトで私の問題を解決しました。このthreadでは、実行されたjavascriptでhtmlを取得するために必要なものがすべて見つかります。 「特別な部分」は次のとおりです。

var sourceVal = webView.ExecuteJavascriptWithResult("document.getElementsByTagName('html')[0].outerHTML;"); 

if (sourceVal != null) 
{ 
    using (sourceVal) 
    { 
     html = sourceVal.ToString(); 
    } 
} 
+0

また、HTTPWebrequestおよびhttpwebresponseオブジェクトを使用してこれを行うこともできます。 –

+1

HTTPWebRequest/HTTPWebResponseから取得したHTMLの中でJavascriptを実行する方法を教えてください。 – netblognet

0

javascriptレンダリングエンジンが必要な場合は、seleniumプロジェクトをご覧ください。

関連する問題