2

Webページからデータを取得しようとしていますが、取得しようとしている実際のテキストがhtmlファイルにないため、Webリクエストを作成して結果のhtmlファイルを解析することはできません。このテキストは何らかのスクリプトを使用して取得されているため、htmlファイルには含まれていないと思います。間違ったデータを見ていることはわかっていますが、私の理論が正しいと仮定すると、HTMLからテキストをフェッチするのではなく、ブラウザ(FirefoxまたはIE)によって表示されるテキストを取得する簡単な方法がありますか?ファイル?

4

2 に答える 2

1

ブラウザでJavascriptを使用して生成されたテキストを参照していると仮定します。

これを実現するためにPhantomJSを使用できます:http://phantomjs.org/

これは本質的に、Javascriptを処理するヘッドレスブラウザです。

これを外部プログラムとして実行する必要があるかもしれませんが、C#を介して実行できると確信しています

于 2013-02-08T17:48:27.763 に答える
0

もう1つのオプションは、スクリプトを実行するWebBrowserオブジェクトでWebページを開くことです。そうすると、HtmlDocumentオブジェクトを取得してそこから移動できます。

この例を見てください...

    private void test()
    {
        WebBrowser wBrowser1 = new WebBrowser();
        wBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wBrowser1_DocumentCompleted);
        wBrowser1.Url = new Uri("Web Page URL");
    }

    void wBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        HtmlDocument document = (sender as WebBrowser).Document;
        // get elements and values accordingly. 
    }
于 2013-02-08T19:13:41.053 に答える