0

In HTMLAgailityPack, how to get the data from the website which is not coming in the innerhtml method of it. For example, if in the link below:

https://www.theice.com/productguide/ProductSpec.shtml?specId=1496#expiry

The table starting with contract symbol is not coming in the innerhtmltext. Please let me know how to get this table data through HTMLAgailityPack?

Regards

4

3 回答 3

0

请使用此 XPath 获取您想要的表 //*[@id="right"]/div/table

例如

HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id="right"]/div/table"));
string html = node.InnerHtml;
于 2012-07-21T21:57:02.840 回答
0

您需要向https://www.theice.com/productguide/ProductSpec.shtml?expiryDates=&specId=1496&_=1342907196619发送 GET 请求

内容正在通过 javascript 动态加载。也许您可以解析 innerhtmltext 以查看 javascript 会将 GET 请求发送到哪个链接

于 2012-07-21T21:47:59.723 回答
0

如果它不是“进入innerhtml”,则意味着它是由脚本放入其中的。我自己无法查看此页面,所以我不确定。

如果它来自脚本,你就不能很容易地得到它。您可以查看 javascript 并可能能够在数据传入时读取数据。

基本上在您的浏览器上安装 Firebug,然后查看正在进行的数据传输。有时你很幸运,有时你不是。

或者您可以采用简单的方法并使用 winforms WebBrowser 控件,将其加载到其中,让它运行脚本然后从那里抓取。请注意,这将像疯了一样泄漏内存和 GDI 句柄。

于 2012-07-21T21:49:23.620 回答