我正在尝试从网页中检索数据,但我无法通过发出 Web 请求并解析生成的 html 文件来做到这一点,因为我尝试检索的实际文本不在 html 文件中!我想这个文本是使用一些脚本提取的,因此它不在 html 文件中。据我所知,我正在查看错误的数据,但假设我的理论是正确的,是否有一种直接的方法来检索浏览器(Firefox 或 IE)显示的任何文本,而不是尝试从 html 中获取文本文件?
问问题
95 次
2 回答
1
假设您指的是在浏览器中使用 Javascript 生成的文本。
您可以使用 PhantomJS 来实现: http: //phantomjs.org/
它本质上是一个处理 Javascript 的无头浏览器。
您可能需要将其作为外部程序运行,但我确定您可以通过 C#
于 2013-02-08T17:48:27.763 回答
0
您的另一个选择是在应该执行脚本的 WebBrowser 对象中打开网页,然后您可以获得 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 回答